我有一个像这样的 json 字符串:
{
"Results":[
{
"attr1": "value1",
"attr2": "value2",
"A": "value_a",
"B": "value_b",
"C": "value_c",
"GuestValues":[
{
"A": "value_a",
"B": "value_b",
"C": "value_c"
},
{
"A": "value_a",
"B": "value_b",
"C": "value_c"
},
{
"A": "value_a",
"B": "value_b",
"C": "value_c"
}
}
],
"TotalResults":1,
"MilliSeconds":11
}
我只想反序列化 GuestValues 数组。我创建了一个这样的类:
public class GuestValue
{
public string A;
public string B;
public string C;
}
public class GuestValueResult
{
public List<GuestValue> GuestValues { get; set; }
public in TotalResults { get; set; }
}
然后这样调用它:
GuestValueResult guestValues = JsonConvert.DeserializeObject<GuestValueResult>(jsongString);
但它不起作用。我试了很多次,不知何故,它只给我返回 jsonString 中的第一个 "A"
、"B"
、"C"
, "GuestValues"
上面那个,我不要那组数据。我只想要 "GuestValues"
中的那些。请帮忙。
最佳答案
您可以使用 Linq to JSON(JSON.NET 的一部分)访问相关节点,然后反序列化它:
var root = JObject.Parse(jsonString);
var guestValues = root["Results"][0]["GuestValues"].ToObject<GuestValue[]>();
关于c# - 在c#中反序列化部分json字符串(数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37335030/