using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
public string Title{ get; set; }
public string Description{ get; set; }
public Contents Contents{ get; set; }
public string FirstKey{ get; set; }
public string SecondKey{ get; set; }
public string ThirdKey { get; set; }
public static void Test()
var text = "{ "Title:": "StructureTitle", "Description:" : "StructureDescription", "Contents": "[{"Key":"FirstKey","Value":"FirstValue"},{"Key":"SecondKey","Value":"SecondValue"},{"Key":"ThirdKey","Value":"ThirdValue"}]" }"
JToken token = JObject.Parse(text);
var x = token.SelectToken("Contents");
Contents c = x.ToObject<Contents>();
public static void Main()
Console.WriteLine("Environment version: " + Environment.Version);
Console.WriteLine("Json.NET version: " + typeof(JsonSerializer).Assembly.FullName);
Console.WriteLine("Failed with unhandled exception: ");