private static void ValueToJson(StringBuilder sb, DynValue value) { switch (value.Type) { case DataType.Boolean: sb.Append(value.Boolean ? "true" : "false"); break; case DataType.Number: sb.Append(value.Number.ToString("r")); break; case DataType.String: sb.Append(EscapeString(value.String ?? "")); break; case DataType.Table: TableToJson(sb, value.Table); break; case DataType.UserData: sb.Append(JsonEmptyArray.IsJsonEmptyArray(value) ? "[]" : "null"); break; case DataType.Nil: case DataType.Void: default: sb.Append("null"); break; } }
private static bool IsValueJsonCompatible(DynValue value) { return(value.Type == DataType.Boolean || value.IsNil() || value.Type == DataType.Number || value.Type == DataType.String || value.Type == DataType.Table || JsonNull.IsJsonNull(value) || JsonEmptyArray.IsJsonEmptyArray(value)); }