我无法控制json响应,但是给出的响应具有相同的对象列表,但每个对象的名称不同。它们确实是同一对象,但是我不知道如何用不同的名称反序列化它。 例如:
{
"Data": {
"OBJ_1": {
"Id": "4321",
"Url": "/test/url/1"
},
"OBJ_2": {
"Id": "749869",
"Url": "/test/ur1/1"
}
}
}
我不知道对象的数量或其名称,因此无法正确添加模型。
答案 0 :(得分:0)
您可以尝试使用JObject.Parse通过JSON密钥名称获取对象。
因此,如果有许多对象和不同的名称,则可以通过键名获得属性。
这是从对象中获取ID
的示例。
string jsonData = @"{
'Data': {
'OBJ_1': {
'Id': '4321',
'Url': '/test/url/1'
},
'OBJ_2': {
'Id': '749869',
'Url': '/test/ur1/1'
}
}
}";
var o = JObject.Parse(jsonData);
foreach (var item in o["Data"])
{
Console.WriteLine(item.First.Value<string>("Id"));
}
结果
4321
749869