[英]Serialize an object with HashTable property and store in CouchBase
我们的团队选择了Couchbase作为我们应用程序的缓存。 我们存储在此缓存中的对象看起来像这样
public class CatalogEntity
{
public int Id { get; set; }
public string Name { get; set; }
// this property gives us trouble
public Hashtable Attributes { get; set;}
}
在我们的代码中,从CouchBase缓存中检索了一个对象之后,我发现主要类型( Id
和Name
)的Attributes
已正确反序列化,但Hashtable
类型的Attributes
未反序列化并保持为JSON。 例如,如果我有类似的东西
var entity = new CatalogEntity();
entity.Attributes["foo"] = new Foo();
来自缓存的对象将具有Attributes["foo"]
属性,作为Foo
类的JSON表示形式。
我想知道如何正确地对Hashtable
类型进行序列化/反序列化? 我应该将对象序列化为二进制,而是将二进制流存储在CouchBase中吗?
您是否需要使用Hashtable
的原因? 例如,您可以改用Dictionary<string,string>
吗?
我认为您看到的原因是Json.NET最好的序列化哈希表的尝试(另请参见StackOverflow上的此问题: 使用Json.Net序列化哈希表 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.