How do you Add or Update a JProperty Value in a JObject

Anyone trying to access nested JSON use the approach as in answer by @pjs adding extra braces as required.

JObject item = JObject.Parse("{
   "test": {
       "first": "one",
       "second": "two",
       "nth":   "n"
   }
}");

To edit:

item["test"]["nth"] = "updated";

Updates the JObject to:

{
   "test": {
       "first": "one",
       "second": "two",
       "nth":   "updated"
   }
}

as @dbc described in the comment, you can simply use the indexer to make this happen.

var item = JObject.Parse("{ 'str1': 'test1' }");

item["str1"] = "test2";
item["str3"] = "test3";

see the fiddle for more details

Tags:

C#

Json

Json.Net