internal static void AddPropertyIfValue(this JObject jsonObject, string propertyName, string value) { if (string.IsNullOrEmpty(value)) { return; } jsonObject.AddDeepProperty(propertyName, value); }
internal static void AddPropertyIfValue <T>(this JObject jsonObject, string propertyName, T value, Func <T, JToken> convertValueToJsonToken) { if (convertValueToJsonToken == null) { throw new ArgumentNullException(nameof(convertValueToJsonToken)); } jsonObject.AddDeepProperty(propertyName, value == null ? null : convertValueToJsonToken(value)); }
public static void AddPropertyIfValue <T>(this JObject jsonObject, string propertyName, Parameter <T> parameter, Func <T, JToken> convertValueToJsonToken) { if (convertValueToJsonToken == null) { throw new ArgumentNullException(nameof(convertValueToJsonToken)); } if (!parameter.HasValue) { return; } jsonObject.AddDeepProperty(propertyName, parameter.Value == null ? null : convertValueToJsonToken(parameter.Value)); }
internal static void AddPropertyIfValue <T>(this JObject jsonObject, string propertyName, T value, Func <T, JToken> convertValueToJsonToken) { if (convertValueToJsonToken == null) { throw new ArgumentNullException(nameof(convertValueToJsonToken)); } if (EqualityComparer <T> .Default.Equals(value, default)) { return; } jsonObject.AddDeepProperty(propertyName, convertValueToJsonToken(value)); }
internal static void AddPropertyIfValue <T>(this JObject jsonObject, string propertyName, IEnumerable <T> value, JsonConverter converter = null) { if (value == null || !value.Any()) { return; } var jsonSerializer = new JsonSerializer(); if (converter != null) { jsonSerializer.Converters.Add(converter); } jsonObject.AddDeepProperty(propertyName, JArray.FromObject(value.ToArray(), jsonSerializer)); }
internal static void AddPropertyIfValue <T>(this JObject jsonObject, string propertyName, T value, JsonConverter converter = null) { if (EqualityComparer <T> .Default.Equals(value, default)) { return; } var jsonSerializer = new JsonSerializer(); if (converter != null) { jsonSerializer.Converters.Add(converter); } jsonObject.AddDeepProperty(propertyName, JToken.FromObject(value, jsonSerializer)); }