我正在尝试将一些JSON反序列化为完美运行的对象..几乎......
我正在使用C#中的NewtonSoft.Json库
我有一系列嵌套类。
例如:
class car (string prop, string prop2}
在汽车类中一个嵌套的类轮
class wheel {string prop, car Parent}
现在我想获得从wheel类到car(Parent)类的引用 DeserializeObject运行良好,反序列化所有对象和嵌套对象
Car c = JsonConvert.DeserializeObject<Car>(jsonString);
但似乎无法获得父类的引用:(?
答案 0 :(得分:1)
固定!
{
"$id":"1",
"id":"car1",
"name":"test",
"description":"nice car",
"wheel":[
{
"car":{"$ref":"1"},
"name":"section",
"description":"nice car"
}
]
}
刚刚在JSON中添加了$ref
答案 1 :(得分:0)
而不是序列化和反序列化Car对象。 在您的场景中,您实际上可以序列化和反序列化Wheel对象。这样做,您将获得汽车和车轮的信息。
尝试将Json反序列化为Wheel对象。
答案 2 :(得分:0)
您可以在两端(客户端/服务器)设置此属性,Json.net应在反序列化期间将树链接在一起:
JsonSerializerSettings settings = new JsonSerializerSettings {
PreserveReferencesHandling = PreserveReferencesHandling.All
};
您可以将这些设置传递给JsonConvert.SerializeObject
的每次调用,也可以使用以下方式全局设置:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.All;