C# 用基类反序列化Json响应
我不能控制json响应,但是我得到的响应有一个相同的对象列表,但是每个对象的名称不同。它们实际上是同一个对象,但我不知道如何反序列化不同的名称。 例: 我不知道对象的数量或名称,因此无法正确添加模型 您可以尝试使用通过JSON键名获取对象 因此,如果有许多对象和不同的名称,则可以通过键名获得属性 下面是从对象获取C# 用基类反序列化Json响应,c#,json,json.net,C#,Json,Json.net,我不能控制json响应,但是我得到的响应有一个相同的对象列表,但是每个对象的名称不同。它们实际上是同一个对象,但我不知道如何反序列化不同的名称。 例: 我不知道对象的数量或名称,因此无法正确添加模型 您可以尝试使用通过JSON键名获取对象 因此,如果有许多对象和不同的名称,则可以通过键名获得属性 下面是从对象获取ID的示例 string jsonData = @"{ 'Data': { 'OBJ_1': { 'Id': '4321',
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"));
}
使用
public类SomeName{public Dictionary Data{get;set;}}}
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