首页 > 解决方案 > C# 使用字符串数组中的嵌套对象动态创建 JSON

问题描述

所以我有一个动态的字符串数组,例如:

["a","b","c,"d"]

或者

["x","y","z"]

该数组是动态的,可以有可变数量的字符串。

我想以项目的相同位置顺序创建一个嵌套的 json 对象。

最终结果将是:

{
   "a":{
      "b":{
         "c":{
            "d":{
            }
         }
      }
   }
}

或者

{
   "x":{
      "y":{
         "z":{
         }
      }
   }
}

标签: c#arraysjsonjson.net

解决方案


您可以撰写JObject以获得您想要的内容:

var strs = new string[] { "a", "b", "c", "d" };

JObject jo = new JObject();
JObject parent = jo;

for (int i = 0; i < strs.Length; i++)
{
    var jo2 = new JObject();
    parent[strs[i]] = jo2;
    parent = jo2;
}

// Your final json object is jo
Console.WriteLine(jo);

// string version
string json = jo.ToString(); // or jo.ToString(Formatting.None)

推荐阅读