public void ToJson(JsonWriter writer) { bool validate = writer.Validate; writer.Validate = false; JsonData.WriteJson(this, writer); writer.Validate = validate; }
private static void WriteJson(IJsonWrapper obj, JsonWriter writer) { if (obj.IsString) { writer.Write(obj.GetString()); return; } if (obj.IsBoolean) { writer.Write(obj.GetBoolean()); return; } if (obj.IsDouble) { writer.Write(obj.GetDouble()); return; } if (obj.IsInt) { writer.Write(obj.GetInt()); return; } if (obj.IsLong) { writer.Write(obj.GetLong()); return; } if (obj.IsArray) { writer.WriteArrayStart(); foreach (object current in obj) { JsonData.WriteJson((JsonData)current, writer); } writer.WriteArrayEnd(); return; } if (obj.IsObject) { writer.WriteObjectStart(); foreach (DictionaryEntry dictionaryEntry in ((IDictionary)obj)) { writer.WritePropertyName((string)dictionaryEntry.Key); JsonData.WriteJson((JsonData)dictionaryEntry.Value, writer); } writer.WriteObjectEnd(); return; } }
public string ToJson() { if (this.json != null) { return(this.json); } StringWriter stringWriter = new StringWriter(); JsonData.WriteJson(this, new JsonWriter(stringWriter) { Validate = false }); this.json = stringWriter.ToString(); return(this.json); }