Пример #1
0
        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(']');
        }
Пример #2
0
 internal abstract void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode);
Пример #3
0
 internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode)
 {
     aSB.Append("null");
 }
Пример #4
0
 internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode)
 {
     aSB.Append((_mData) ? "true" : "false");
 }
Пример #5
0
 internal override void WriteToStringBuilder(StringBuilder aSB, int aIndent, int aIndentInc, JsonTextMode aMode)
 {
     aSB.Append('\"').Append(Escape(_mData)).Append('\"');
 }
Пример #6
0
        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('}');
        }