public bool Write(IDictionary value) { StringBuilder sb = new StringBuilder(); sb.Append("{"); DJsonWriter writer = new DJsonWriter(); var e = value.GetEnumerator(); while (e.MoveNext()) { var keyWriter = new DJsonWriter(); keyWriter.Write(e.Key); var valueWriter = new DJsonWriter(); valueWriter.Write(e.Value); string str = string.Format("{0}:{1}", keyWriter, valueWriter); if (!writer.Write(str)) { return(false); } } sb.Append(writer.ToString()); sb.Append("}"); return(this.Write(sb.ToString())); }
public bool Write(IList value) { StringBuilder sb = new StringBuilder(); sb.Append("["); DJsonWriter writer = new DJsonWriter(); var eKey = value.GetEnumerator(); while (eKey.MoveNext()) { if (!writer.Write(eKey.Current)) { return(false); } } sb.Append(writer.ToString()); sb.Append("]"); return(this.Write(sb.ToString())); }
private bool WriteObject(object obj) { StringBuilder sb = new StringBuilder(); sb.Append("[{"); var writer = new DJsonWriter(); var type = obj.GetType(); var listField = DataHelper.GetClassFields(type); if (listField == null) { return(false); } for (int i = 0; i < listField.Count; i++) { var field = listField[i]; var keyWriter = new DJsonWriter(); keyWriter.Write(field.Name); var value = field.GetValue(obj); var valueWriter = new DJsonWriter(); valueWriter.Write(value); string str = string.Format("{0}:{1}", keyWriter.ToString(), valueWriter.ToString()); if (!writer.Write(str)) { return(false); } } sb.Append(writer.ToString()); sb.Append("}]"); return(this.Write(sb.ToString())); }