繁体   English   中英

如何序列化具有多个 object 类型的 json 字符串?

[英]How to Serialize a json string with multiple object types?

假设我有一个 json 字符串,如下所示:

{
  "customers": [{
      "id": 1,
      "name": "Bob"
    },
    {
      "id": 2,
      "name": "Mary"
    }
  ],
  "products": [{
      "id": 1,
      "description": "apple",
      "price": 0.50
    },
    {
      "id": 2,
      "description": "orange",
      "price": 0.75
    }
  ]
}

从那个字符串,我需要得到一个List<customer>

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
}

也许我遗漏了一些东西,但我没有在 Newtonsoft 文档中看到如何做到这一点。

public class Customer
{
    public int id { get; set; }
    public string name { get; set; }
}

public class Product
{
    public int id { get; set; }
    public string description { get; set; }
    public double price { get; set; }
}

public class RootObject
{
    public List<Customer> customers { get; set; }
    public List<Product> products { get; set; }
}

将您的 json 字符串反序列化为“RootObject”

var rootObj = JsonConvert.DeserializeObject<RootObject>(myJsonString);

您正在寻找部分 JSON 片段反序列化 总而言之,您必须将整个 JSON object 加载到 JObject 中,然后将 select 的 ZA8Z6FDE6331C1 类型的子令牌转换为所需的 9891 BD4BEB66AC。

另请查看JSON 路径选择,您可以在其中使用令牌选择器直接获取 JSON 的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM