using Newtonsoft.Json.Linq;
public static void Main()
var jToken = JToken.Parse("{ \"root\": { \"nested\": { \"value1\": \"something\" } } }");
var selectedToken = jToken.SelectToken("$.root.nested");
if (selectedToken != null)
selectedToken["newValue1"] = new JValue("something new");
selectedToken["nested2"] = JObject.FromObject(new { foo = "bar" });
Console.WriteLine(jToken.ToString());