using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main()
{ ""Item_3A1"": ""Desc_3A1"" },
{ ""Item_3A2"": ""Desc_3A2"" },
{ ""Item_3A3"": ""Desc_3A3"" }
{ ""Item_3B1"": ""Desc_3B1"" },
{ ""Item_3B2"": ""Desc_3B2"" },
{ ""Item_3B11"": ""Desc_3B11"" },
{ ""Item_3B12"": ""Desc_3B12"" },
{ ""Item_3B13"": ""Desc_3B13"" }
{ ""Item_3C1"": ""Desc_3C1"" },
{ ""Item_3C2"": ""Desc_3C2"" },
{ ""Item_3C3"": ""Desc_3C3"" }
var root = (JContainer)JToken.Parse(json);
List<JObject> query = root.Descendants().Where(jt => (jt.Type == JTokenType.Object) || (jt.Type == JTokenType.Array)).Select(jo =>
JObject joWork = new JObject();
var items = jo.Children<JObject>();
for (int i = 0; i < query.Count; i++)
Console.WriteLine("query[" + i + "]:");
Console.WriteLine(query[i].ToString(Formatting.None));