private static void AppendText(IJsonValue value, StringBuilder stringBuilder, int maxFieldLength, string separator, bool allowObjects) { if (value.Type == JsonValueType.String) { var text = value.ToString(); if (text.Length <= maxFieldLength) { if (stringBuilder.Length > 0) { stringBuilder.Append(separator); } stringBuilder.Append(text); } } else if (value is JsonArray array) { foreach (var item in array) { AppendText(item, stringBuilder, maxFieldLength, separator, true); } } else if (value is JsonObject obj && allowObjects) { foreach (var item in obj.Values) { AppendText(item, stringBuilder, maxFieldLength, separator, true); } } }
public static string GetOptionalString(this IJsonValue data) { if (data == null) { return(null); } if (data.ValueType == JsonValueType.String) { return(data.GetString()); } return(data.ToString()); }
public object Visit(IField <DateTimeFieldProperties> field) { if (value.Type == JsonValueType.String) { var parseResult = InstantPattern.General.Parse(value.ToString()); if (!parseResult.Success) { throw parseResult.Exception; } return(parseResult.Value); } throw new InvalidCastException("Invalid json type, expected string."); }
private static void AppendJsonText(IJsonValue value, Action <string> appendText) { if (value.Type == JsonValueType.String) { appendText(value.ToString()); } else if (value is JsonArray array) { foreach (var item in array) { AppendJsonText(item, appendText); } } else if (value is JsonObject obj) { foreach (var item in obj.Values) { AppendJsonText(item, appendText); } } }
private static void AppendJsonText(Dictionary <string, StringBuilder> languages, string language, IJsonValue value) { if (value.Type == JsonValueType.String) { AppendText(languages, language, value.ToString()); } else if (value is JsonArray array) { foreach (var item in array) { AppendJsonText(languages, language, item); } } else if (value is JsonObject obj) { foreach (var item in obj.Values) { AppendJsonText(languages, language, item); } } }
public override string ToString() { return(_jsonValue == null ? _name : _jsonValue.ToString()); }