CSharp · Console
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json.Linq;
public class Program
{
public static void Main()
{
string json = @"
{
""CustomData"": [
{
""Wrapper"": [
{
""OptionalDataSet1"": [
{
""ItemA"": ""Basic string""
},
{
""ItemB"": ""Another basic string""
}
]
}
]
}
]
}";
Dictionary<string, string> optionalDataSet1 = Deserialize(json);
foreach (var kvp in optionalDataSet1)
{
Console.WriteLine(kvp.Key + ": " + kvp.Value);
}
}
public static Dictionary<string, string> Deserialize(string json)
{
return JObject.Parse(json)
.SelectToken("CustomData[0].Wrapper[0].OptionalDataSet1")
.Children<JObject>()
.SelectMany(jo => jo.Properties())
.ToDictionary(jp => jp.Name, jp => (string)jp.Value);
}
}