如何使用多个子数组动态解析、读取和附加到 JSON

How do you dynamically parse, read, and append to JSON with multiple sub arrays

经过大量研究后,我未能找到读取 json 文件、存储它们的值,然后向其附加新的 object/array 的任何好方法。 JSON 看起来像

    {
"Skywars": [
  {
    "Solo Normal": [
      {
        "000001": [
          {
            "Kills": 213,
            "Deaths": 117
          }
        ]
      }
    ],
    "Solo Insane": [
      {
        "000001": [
          {
            "Kills": 10790,
            "Deaths": 7184
          }
        ]
      }
    ]
  }
],"Bedwars": [
  {
    "Solo": [
      {
        "000001": [
          {
            "Kills": 0,
            "Deaths": 0
          }
        ]
      }
    ],
    "Duos": [
      {
        "000001": [
          {
            "Kills": 0,
            "Deaths": 0
          }
        ]
      }
    ]
  }
]
}

例如,我打算将其设为 "Skywars.Solo Normal"、"Skywars.Solo Insane"、"Bedwars.Solo"、"Bedwars.Duos",然后在“000002”后附加新的杀戮和死亡值. 出于某种原因,即使经过数小时的搜索,我也无法找到如何阅读杀戮和死亡(我已经接近,使用 public Skywars[] Skywars { get;set; }。问题是大多数示例都使用 JSON看起来像 {"user":[{"id":1,"logins":0}]} 的文件只有很少的数组和子数组。

任何愿意回答的人,请不要给我代码,请解释如何完成(我是否需要创建自己的解析器等),或者如果已经有任何 posts/links 回答了我的问题(尽管我没找到如何回答)。

备注-

另外抱歉,我仍在学习 C#,但知道大部分基础知识和一些更复杂的概念,我只是一直不擅长存储数据和使用 JSON。如果您需要任何帮助,请添加评论,我会添加。

请参阅Json.NET的Modifying JSON

This sample loads JSON, modifies JObject and JArray instances and then writes the JSON back out again.

Sample

string json = @"{
 'channel': {
   'title': 'Star Wars',
   'link': 'http://www.starwars.com',
   'description': 'Star Wars blog.',
   'obsolete': 'Obsolete value',
   'item': []
 }
}";

JObject rss = JObject.Parse(json);

JObject channel = (JObject)rss["channel"];

channel["title"] = ((string)channel["title"]).ToUpper();
channel["description"] = ((string)channel["description"]).ToUpper();

channel.Property("obsolete").Remove();

channel.Property("description").AddAfterSelf(new JProperty("new", "New value"));

JArray item = (JArray)channel["item"];
item.Add("Item 1");
item.Add("Item 2");

Console.WriteLine(rss.ToString());
// {
//   "channel": {
//     "title": "STAR WARS",
//     "link": "http://www.starwars.com",
//     "description": "STAR WARS BLOG.",
//     "new": "New value",
//     "item": [
//       "Item 1",
//       "Item 2"
//     ]
//   }
// }