using Newtonsoft.Json.Linq;
public static void Main()
var rootObject = JToken.Parse(json);
var additionalFields = rootObject["additionalFields"];
var additionalField = additionalFields.FirstOrDefault(f => string.Equals((string)f["name"], "NAME1", StringComparison.CurrentCultureIgnoreCase));
if (additionalField != null)
additionalField["name"] = "newname";
additionalField["value"] = "newvalue";
Console.WriteLine(rootObject.ToString());