简体   繁体   English

如何从 ZD7EFA19FBE7D3972FD7ZADB6024223D 中的 JSON 节点路径创建 JSON object

[英]How to create JSON object from JSON node path in C#

I want to map JSON path properties from key-value pairs to generate the JSON object in C# where the path contains nested array index path I want to map JSON path properties from key-value pairs to generate the JSON object in C# where the path contains nested array index path

Input:输入:

Dictionary<string, string> properties = new Dictionary<string, string>();
properties.put("id", "1");
properties.put("name", "sample_name");
properties.put("category.id", "1");
properties.put("category.name", "sample");
properties.put("tags[0].id", "1");
properties.put("tags[0].name", "tag1");
properties.put("tags[1].id", "2");
properties.put("tags[1].name", "tag2");
properties.put("status", "available");

Output: Output:

{
  "id": 1,
  "name": "sample_name",
  "category": {
    "id": 1,
    "name": "sample"
  },
  "tags": [
    {
      "id": 1,
      "name": "tag1"
    },
    {
      "id": 2,
      "name": "tag2"
    }
  ],
 
  "status": "available"
}

Using Jackson's JavaPropsMapper it can easily be achieved like:使用Jackson 的 JavaPropsMapper可以轻松实现,如下所示:

JavaPropsMapper javaPropsMapper = new JavaPropsMapper();
JsonNode json = javaPropsMapper.readMapAs(properties, JsonNode.class);

How to implement this idea in C# so that I am able to generate the JSON object from the given JSON path node.如何在C#中实现这个想法,以便我能够从给定的 Z0ECD11C1D7A287A2FBB4 节点生成 JSON object 节点。

you can create anonymous object an serialize您可以创建匿名 object 序列化

            var values = new { 
                id = "id",
                name = "name",
                category = new { id = 1, name = "sample"},
                tags = new { id = 0, name = "sample" },
                status = "available"
            }; 
            string json = JsonConvert.SerializeObject(values);

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

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