使用NewtonSoft json库解析arrays对象的json数组

时间:2019-08-12 13:18:21

标签: json parsing

我必须使用Newtonsoft.Json库将该对象解析为List >>对象。

“键”是类型名称(因为“ cups”,“ values”是内部数组值-“ green”,“ black”,“ yellow”)

我不想使用对象序列化,而使用直接类型。

{
  "kitchen": {
    "types": [
      {
        "cups": [
          "green",
          "black",
          "yellow"
        ]
      },
      {
        "mixer": [
          "brown"
        ]
      },
      {
        "plates": [
          "white",
          "purple"
         ]
      }
    ]
  }
}

这是我写的一个函数,我能够解析内部对象名称在获取值方面陷入了死胡同(用TODO标记)

    List<KeyValuePair<string, List<string>>> result = new 
    List<KeyValuePair<string, List<string>>>();

    JsonReader reader = new JsonTextReader(new StringReader(policyContent));
    reader.DateParseHandling = DateParseHandling.None;
    JObject joResponse = JObject.Load(reader);

    JArray array = JArray.Parse(joResponse["kitchen"]["types"].ToString());

    foreach (JObject content in array.Children<JObject>())
    {
        // TODO:
        // How do I get the inner array values ?

        foreach (JProperty prop in content.Properties())
        {
            result.Add(new KeyValuePair<string, List<string>>(prop.Name, new List<string>()));
        }

    }
    return result;

任何帮助将不胜感激。

谢谢, 亚尼夫。

0 个答案:

没有答案