public static void WriteArray(IEnumerable input, StringBuilder sb, IndentWriter indentWriter) { sb.Append("["); var childIndentWriter = indentWriter + 1; bool firstElement = true; foreach (var child in input) { if (!firstElement) { sb.Append(","); } indentWriter.WriteLineBreak(sb); childIndentWriter.Write(sb); WriteElement(child, sb, childIndentWriter); firstElement = false; } indentWriter.WriteLineBreak(sb); indentWriter.Write(sb); sb.Append("]"); }
public static void WriteObject(IDictionary <string, object> input, StringBuilder sb, IndentWriter indentWriter) { sb.Append("{"); var childIndentWriter = indentWriter + 1; bool firstElement = true; foreach (var child in input) { if (!firstElement) { sb.Append(","); } indentWriter.WriteLineBreak(sb); childIndentWriter.Write(sb); WriteString(child.Key, sb); sb.Append(":"); if (IsObject(child.Value) || IsArray(child.Value)) { childIndentWriter.WriteLineBreak(sb); childIndentWriter.Write(sb); } else { childIndentWriter.WriteSeparator(sb); } WriteElement(child.Value, sb, childIndentWriter); firstElement = false; } indentWriter.WriteLineBreak(sb); indentWriter.Write(sb); sb.Append("}"); }