/// <summary> /// /// </summary> /// <param name="jObject"></param> /// <param name="properties"></param> public static void AddUpdate(this JObject jObject, IEnumerable <JProperty> properties) { properties .ForEachElement( property => { if (property.Children().IsNotNullOrEmpty() && property.Children().First().HasValues) { if (jObject.SelectToken(property.Name) == null) { jObject.Add(property); } else { jObject .SelectToken(property.Name) .As <JObject>() .AddUpdate( property .Value .Children() .Cast <JProperty>()); } } else { jObject.AddUpdate(property); } }); }
/// <summary> /// /// </summary> /// <param name="jObject"></param> /// <param name="name"></param> /// <param name="value"></param> public static void AddUpdate(this JObject jObject, string name, JToken value) { jObject.AddUpdate(name, value, ValueStrategies.None, default(JToken)); }
/// <summary> /// /// </summary> /// <param name="jObject"></param> /// <param name="name"></param> /// <param name="value"></param> public static void AddUpdate(this JObject jObject, string name, string value) { jObject.AddUpdate(name, value, ValueStrategies.None, String.Empty); }
/// <summary> /// /// </summary> /// <param name="jObject"></param> /// <param name="property"></param> public static void AddUpdate(this JObject jObject, JProperty property) { jObject.AddUpdate(property, ValueStrategies.None, default(JProperty)); }