我进行api调用,结果如下:
这是数据
[{{
"Id": "7",
"Type": "user",
"Status": 1,
"Name": "Bob",
}},
{{
"Id": "8",
"Type": "user",
"Status": 1,
"Name": "Mary",
}}]
我正在尝试检索值,例如让我们说出每个值的名称,这样我最终会得到 MyName 和 MyName2
var a = JArray.Parse(data);
List<string> resultList = new List<string>();
foreach (var item in a)
{
string str= item["Name"].ToString() + ";"
}
return resultList;
但它给出了一个例外,说它无法访问名称。
我该怎么做?
首先,您的 JSON 对象的格式似乎不正确。正确的 JSON 对象应该是这样的 -
[
{
"Id": "7",
"Type": "user",
"Status": 1,
"Name": "Bob"
},
{
"Id": "8",
"Type": "user",
"Status": 1,
"Name": "Mary"
}
]
其次,你可以定义一个可以表示JSON对象的类。例如,
public class Customer
{
public string Id { get; set; }
public string Type { get; set; }
public int Status { get; set; }
public string Name { get; set; }
}
然后,你可以反序列化该对象
List<Customer> customers = JsonSerializer.Deserialize<List<Customer>>(jsonString); //jsonString you get from API call
foreach (var customer in customers)
{
Console.WriteLine($"Name: {customer.Name});
}