internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode) { aSB.Append('['); int count = _mList.Count; if (_inline) { aMode = JsonTextMode.Compact; } for (int i = 0; i < count; i++) { if (i > 0) { aSB.Append(','); } if (aMode == JsonTextMode.Indent) { aSB.AppendLine(); } if (aMode == JsonTextMode.Indent) { aSB.Append(' ', aIndent + aIndentInc); } _mList[i].WriteToStringBuilder(aSB, aIndent + aIndentInc, aIndentInc, aMode); } if (aMode == JsonTextMode.Indent) { aSB.AppendLine().Append(' ', aIndent); } aSB.Append(']'); }
internal abstract void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode);
internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode) { aSB.Append("null"); }
internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode) { aSB.Append((_mData) ? "true" : "false"); }
internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode) { aSB.Append('\"').Append(Escape(_mData)).Append('\"'); }
internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode) { aSB.Append('{'); bool first = true; if (_inline) { aMode = JsonTextMode.Compact; } foreach (var k in _mDict) { if (!first) { aSB.Append(','); } first = false; if (aMode == JsonTextMode.Indent) { aSB.AppendLine(); } if (aMode == JsonTextMode.Indent) { aSB.Append(' ', aIndent + aIndentInc); } aSB.Append('\"').Append(Escape(k.Key)).Append('\"'); if (aMode == JsonTextMode.Compact) { aSB.Append(':'); } else { aSB.Append(" : "); } k.Value.WriteToStringBuilder(aSB, aIndent + aIndentInc, aIndentInc, aMode); } if (aMode == JsonTextMode.Indent) { aSB.AppendLine().Append(' ', aIndent); } aSB.Append('}'); }