【问题标题】:How to get data from a nested json in c#如何从 C# 中的嵌套 json 获取数据
【发布时间】:2021-06-22 09:21:15
【问题描述】:

{"data": {"day2": {"mId": "9ilrMdX15S", "votes": "2,893"},"day3": {"mId": "9ilert415S","votes": "2,343"}}} 我如何从 json 数据中检索数据(即“day2”或“day3”中的数据)我遵循了 Brain Rogers 的答案 > Appending json data to listview c# 但答案仅适用于 json 对象不适用于嵌套 json .

【问题讨论】:

  • 我认为它并不是真正嵌套的。您可以将其视为具有单个数组/列表的类,其中包含具有自己属性的“day”对象。
  • 我认为当日期不写为 day1, day2, day3 而是一个数组,其中一天可以有一个明确的索引时,问题就解决了。
  • @MikedeKlerk 我完全忽略了你是正确的细节
  • 它会延续到无限数量的 dayX 属性吗?你能影响 Json 的结构还是被它困住了?
  • 我正在手动输入第 2 天、第 3 天、对象,所以我基本上只想检索“数据>第 2 天> {第 2 天内的所有数据}”的数据或第 3 天内的数据

标签: c# json visual-studio winforms


【解决方案1】:

以下是如何导航的示例:

foreach (JProperty day in JObject.Parse(json)["data"])
{
    string name = day.Name;
    string id = day.Value.Value<string>("mId");
    string votes = day.Value.Value<string>("votes");
} 

【讨论】:

  • 谢谢,但这只会检索第 2 天的第一个值。我如何仅检索第 3 天的数据
【解决方案2】:

感谢所有回复,我能够使用 Bunny83 GitHub - Bunny83/SimpleJSON: A simple JSON parser in C# 的 SimpleJSON 库解决任务

        JSONNode data = JSON.Parse(//jsonData or Url//);
        string mId = data["data"]["day2"]["mId"].Value;
        string votes = data["data"]["day2"]["votes"].Value;

【讨论】:

  • 嗨,@ Serenity Emmanuel。这个解决方案能解决您的问题吗?如果解决了,您可以单击“✔”接受它作为答案。有助于社区成员解决类似问题。
猜你喜欢
  • 2021-10-20
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
相关资源
最近更新 更多