在c#中使用JsonConvert读取Json字符串时出现错误

本文关键字:字符串 错误 Json 读取 JsonConvert | 更新日期: 2023-09-27 17:50:01

我需要从c#中的Json字符串读取数据。

Json字符串就像:

{ 
 "data_level":{
   "performance":{
    "@value":"1000",
    "@size":"10",
  },
  "points":{
    "@type":"profit",
    "tier":{
        "@below":"80",
        "@above":"100"
    },
    "kids":[
        {
            "@kid":"150"
        },
        {
            "@kid":"200"
        }
    ]
  }
}

My c# code:

 var my_dic = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(json_string);
 var my_data = my_dic["data_level"]
 string v = my_data["performance"]["@size"];

对于"kids",我有两个孩子"kid"有相同的名字但不同的值。如何得到所有的,而不是只有最后一次阅读?

在c#中使用JsonConvert读取Json字符串时出现错误

您应该省略最后一个[0]

更新后的问题:

my_children = my_dic["points"]["kids"];
foreach (KeyValuePair<string, int> pair in my_children)
{
    Console.WriteLine(pair.Key, pair.Value["@kid"]);
}