我使用以下代码将字符串变量解析为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();
提前感谢您的帮助。
发布于 2014-12-03 20:23:21
法哈达什是对的。我必须创建一个类来映射属性。
var JSON_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Infolist>(strJSON);
Infolist
为:
public class Infolist
{
public string street { get; set; }
public string coutnry { get; set; }
...
}
它是这样工作的.
https://stackoverflow.com/questions/27253014
复制相似问题