我需要将以下JSON格式转换为对象,我的Class属性为
public string address_line_1 { get; set; }
public string locality { get; set; }
public string region { get; set; }
public string permises { get; set; }
public string postal_code { get; set; }
我得到的JSON是
{
"items_per_page":2,
"items":[
{
"title":"Info",
"description":"02506398 - ",
"links":{
"self":"/company/02506398"
},
"company_number":"11111",
"company_status":"active",
"address":{
"region":"Somewhere ,",
"postal_code":"TX1 7JQ",
"locality":"Somewhere , Somewhere Mill",
"premises":"Somewhere House",
"address_line_1":"Somewhere Road"
},
"matches":{
"snippet":[
],
"title":[
1,
7,
9,
12
]
},
"description_identifier":[
"incorporated-on"
],
"kind":"searchresults#company",
"date_of_creation":"1990-05-29",
"company_type":"ltd",
"snippet":"",
"address_snippet":"Somewhere House, Somewhere Road, Somewhere , Somewhere Mill, Somewhere ,, TX1 7JQ"
},
{
}
我需要获得的唯一信息是 地址部分和我试过
下面的代码dynamic x = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(t, new Newtonsoft.Json.JsonSerializerSettings() { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore });
或
Newtonsoft.Json.JsonConvert.DeserializeObject<List<Address>>(t).ForEach(cc =>
{
newAddress.address_line_1 = cc.address_line_1;
newAddress.locality = cc.locality;
newAddress.permises = cc.permises;
newAddress.region = cc.region;
newAddress.postal_code = cc.postal_code;
});
但我找不到合适的信息 所以任何类型的帮助都会很棒 `
答案 0 :(得分:2)
最简单的方法是为JSON中的所有属性创建类。 有一个非常有用的工具:https://jsonutils.com/ 记得在选择器中选择JsonProperty。
然后,您可以使用:var object = JsonConvert.DeserializeObject<MainClass>(json);
最后,您可以使用对象上的LINQ查询来访问数据,以获得所需的数据。