动态解析多维 JsonArray
Parsing a multidimensional JsonArray dynamically
我正在尝试解析来自 api 的 json 数据。 json 我试图解析的数据可以在这里看到
我想在列表框中显示如下所示的输出
这是我想做的事情
dynamic json = JsonConvert.DeserializeObject(jsons);
foreach (var abc in json.sfkpi)
{
Resultclass objs = new Resultclass();
string months = abc.month;
if (months == "Jan")
{
objs.p1 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
objs.p2 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
objs.p3 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
lstAnnouncement.Items.Add(objs);
}
}
但这里它为第一个 productValue 的每个月添加相同的值
所以我做错了什么如何实现它。
您在 sfkpi
中有 3 个元素,而您只访问一个元素
//look at the index 0
(string)json["sfkpi"][0]
(string)json["sfkpi"][0]
(string)json["sfkpi"][0]
你只需要改变索引
(string)json["sfkpi"][0]
(string)json["sfkpi"][1]
(string)json["sfkpi"][2]
我正在尝试解析来自 api 的 json 数据。 json 我试图解析的数据可以在这里看到
我想在列表框中显示如下所示的输出
这是我想做的事情
dynamic json = JsonConvert.DeserializeObject(jsons);
foreach (var abc in json.sfkpi)
{
Resultclass objs = new Resultclass();
string months = abc.month;
if (months == "Jan")
{
objs.p1 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
objs.p2 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
objs.p3 = (string)json["sfkpi"][0]["optima"][0]["productValue"];
lstAnnouncement.Items.Add(objs);
}
}
但这里它为第一个 productValue 的每个月添加相同的值 所以我做错了什么如何实现它。
您在 sfkpi
中有 3 个元素,而您只访问一个元素
//look at the index 0
(string)json["sfkpi"][0]
(string)json["sfkpi"][0]
(string)json["sfkpi"][0]
你只需要改变索引
(string)json["sfkpi"][0]
(string)json["sfkpi"][1]
(string)json["sfkpi"][2]