繁体   English   中英

使用HashTable属性序列化对象并存储在CouchBase中

[英]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缓存中检索了一个对象之后,我发现主要类型( IdName )的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM