【问题标题】:deserialize list of objects using json.net使用 json.net 反序列化对象列表
【发布时间】:2021-02-23 00:31:41
【问题描述】:

我有这门课

public class Image
{
    public string url { get; set; }
    public string url_40px { get; set; }
    public string url_50px { get; set; }
}

public class Category
{
    public List<int> ancestor_ids { get; set; }
    public int parent_id { get; set; }
    public List<object> children_ids { get; set; }
    public string nodename { get; set; }
    public int num_parts { get; set; }
    public List<Image> images { get; set; }
    public string __class__ { get; set; }
    public int id { get; set; }
}

我像这样反序列化它

retObject = JsonConvert.DeserializeObject(Of Category)(jsonResp)

但是对于返回的类别列表,我如何转换为List&lt;Category&gt;? 谢谢

【问题讨论】:

  • 你试过JsonConvert.DeserializeObject(Of List&lt;Category&gt;)(jsonResp)

标签: .net json deserialization json.net


【解决方案1】:

DeserializeObject 的类型参数必须是 List&lt;Category&gt; 而不是 Category

在 C# 中为JsonConvert.DeserializeObject&lt;List&lt;Category&gt;&gt;(json)

而在 VB.Net 中则为 JsonConvert.DeserializeObject(Of List(Of Category))(json)

【讨论】:

  • 你好,category 外的数组是什么?
  • 您可以将 any 类型用于DeserializeObject 方法。 Newtonsoft 尝试反序列化指定的类型并(在成功的情况下)返回它。所以你也可以写DeserializeObject(Of Category[])(json)。 (我不懂VB所以也许你必须写不同的数组类型)
  • 为此的 VB 将是 JsonConvert.DeserializeObject(Of List(Of Category))(json)
猜你喜欢
  • 1970-01-01
  • 2016-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
相关资源
最近更新 更多