RavenDB, storing Json Object (c#)

本文关键字:Object Json storing RavenDB | 更新日期: 2023-09-27 18:32:45

我正在使用以下代码将字符串变量解析为 Json 对象:

string[] rInfo = r.Info.ToString().Split('|'); 
dynamic JSON_Obj = JObject.Parse(rInfo[0]);

它在代码中看起来不错,这意味着如果我在运行时检查对象,它具有正确的内容。但是,在我将其存储在RavenDB中后,它看起来像这样:

{"street": {
    "$type": "Newtonsoft.Json.Linq.JValue, Newtonsoft.Json",
    "$values": []
},
"country": {
    "$type": "Newtonsoft.Json.Linq.JValue, Newtonsoft.Json",
    "$values": []
}}

例如,在国家/地区应该是"ES"或"GB"之类的内容。

我将 JSON 对象存储为文档的一部分,如下所示:

                PATCHED_Doc Doc = new PATCHED_Doc()
                {
                    Info = JSON_Obj, 
                    Value = "test",
                    Id = r.Id,
                    Date = r.Date,
                };
                session.Store(Doc);
                session.SaveChanges();

提前感谢您的帮助。

RavenDB, storing Json Object (c#)

法哈达什是对的。我必须装箱一个类来映射属性。

var JSON_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Infolist>(strJSON);

Infolist是:

public class Infolist
{
    public string street { get; set; }
    public string coutnry { get; set; }
    ...
}

像这样它正在工作...