【问题标题】:How to parse a JSON array inside a JSON object如何解析 JSON 对象内的 JSON 数组
【发布时间】:2020-08-26 08:41:56
【问题描述】:

我正在调用一个 Web 服务,当我使用它时会返回以下 JSON

dynamic jsonResult=    JsonConvert.DeserializeObject(response.Content.ToString());
{
    {  "items": 
      [ 
       {     
     "category": "Category1", 
         "word": "stars",  
        "lemma": "star",    
     "url": "XY"   
       }  
      ]
    }
  }

我已经创建了如下的 d 类:

 public class MyClass
    {
        [JsonProperty("category")]
        public string category { get; set; }
  
        [JsonProperty("word")]
        public string word{ get; set; }

        [JsonProperty("lemma")]
        public string lemma{ get; set; }
        
        [JsonProperty("url")]
        public string url { get; set; }

但我不知道如何提取 json 数组中的 json 对象列表。 我尝试了以下方法,但它不起作用:

List<MyClass> list = 
    JsonConvert.DeserializeObject<List<MyClass>>(response.Content.ToString());

我需要将结果提取为MyClass 的列表。 任何帮助将不胜感激。

【问题讨论】:

  • 那不是 JSON。注意它是如何被 double 卷曲包裹的吗? {{ ... }}。不合法。
  • @spender IMO,这只是添加示例时的拼写错误
  • @Cid 假设会导致时间浪费。我们不需要就 OP 打算传达的内容形成“意见”。

标签: c# arrays json


【解决方案1】:

你需要一个根类。您的 JSON 包含一个名为 items的成员

public class Root
{
    [JsonProperty("items")]
    public List<MyClass> items{ get; set; }
}

然后:

Root root = JsonConvert.DeserializeObject<Root>(response.Content.ToString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    相关资源
    最近更新 更多