public static StringBuilder AppendEscapedJson(StringBuilder builder, string value)
{
if (value == null) return builder;
builder.EnsureCapacity(builder.Length + value.Length + 5);
for (var i = 0; i < value.Length; i++)
{
switch (value[i])
{
case '\t':
builder.Append(@"\t");
break;
case '\n':
builder.Append(@"\n");
break;
case '\r':
builder.Append(@"\r");
break;
case '"':
builder.Append(@"\""");
break;
case '\\':
builder.Append(@"\\");
break;
default:
builder.Append(value[i]);
break;
}
}
return builder;
}