我从一个API调用中得到以下字符串:
{
"result":
[
{
"sys_id":"12d199028752a9108ae38516dabb35d3"
}
]
}
我正在尝试将其反序列化到这个类中”
public class result
{
public string sys_id { get; set; }
}
我使用这个调用:var x = Newtonsoft.Json.JsonConvert.DeserializeObject<result>(jsonString);
但是“x.sys_id”总是显示为NULL。我错过了什么?
3条答案
按热度按时间2fjabf4q1#
JSON响应的结构由一个对象组成,该对象具有
array
类型的属性result
,其中有一个对象包含string
类型的单个属性sys_id
。因此,您需要将响应Map到如下内容:
然后,您可以将其用作:
mnowg1ta2#
JSON对一个包含
result
属性的对象进行建模,该对象包含一个数组,该数组包含一个具有sys_id
属性的对象,该对象本身是一个字符串。但是,您的result
类用于最后一个对象,即具有sys_id
的对象。因此,您缺少一个级别:你需要一些东西来控制这些结果。让我们定义一个新的类:
然后你可以反序列化它:
1cosmwyk3#
sys_id是数组中对象的字符串属性,因此只能通过索引访问该对象。但是你不需要任何类来获取它,你只需要解析一个json字符串