【发布时间】:2014-02-08 20:34:20
【问题描述】:
我必须处理第 3 方 json 数据。我正在尝试使用 JSON.Net,但我有点挣扎,因为在数据中,每次都给相同的类型赋予不同的名称。请参见下面的示例。
{
"success":"1",
"return":{
"Mike":{
"name":"Mike",
"age":"21",
"hobbies":[
{
"name":"sailing"
},
{
"name":"volleyball"
}
]
}
}
}
在这里你可以看到 - 在这个虚构的例子中说明情况 - 基本上返回了一个人对象,但它被称为“迈克”而不是人。下一个可能被称为“Sheryl”等。 我想一次性反序列化整个事情: var 反序列化 = JsonConvert.DeserializeObject(jsonString);
但是我不确定如何构建 x,因为它可能会有所不同。
我查看了 JsonConverter,但看不出在这种情况下会有什么帮助。
非常感谢任何指导。
【问题讨论】:
-
考虑:
[JsonProperty("return")] Dictionary<string, PersonInfo> Result { get; set; }(字典中的键将代表“Mike”或“Sheryl”)。但是,我怀疑服务器只是返回不太理想的信息,它应该是一个列表(名称已经存在于信息中),而不是字典:| -
感谢@user2864740 的建议。我也会调查一下。我暂时接受了 L.B 的回答,因为它效果很好。再次感谢。
标签: c# json serialization json.net