using Newtonsoft.Json.Linq;
public static void Main()
""description"": ""..."",
""description"": ""..."",
var root = JObject.Parse(json);
var matches = root.Descendants()
.Where(x => x["xid"] != null && x["xid"].ToString() == "5555");
foreach (JObject jo in matches)
jo.Add("NewNode", new JObject(new JProperty("SomeProperty", "value")));
Console.WriteLine(root.ToString());