public static string EscapeStringForJson()

in Libraries/src/Amazon.Lambda.RuntimeSupport/ExceptionHandling/JsonExceptionWriterHelpers.cs [29:96]


        public static string EscapeStringForJson(string str)
        {
            if (str == null)
                return null;

            int n = str.Length;
            var sb = new StringBuilder(n * 2);
            for (int i = 0; i < n; i++)
            {
                char c = str[i];
                switch (c)
                {
                    case '\n':
                        sb.Append(@"\n");
                        break;

                    case '\r':
                        sb.Append(@"\r");
                        break;

                    case '\t':
                        sb.Append(@"\t");
                        break;

                    case '"':
                        sb.Append(@"\""");
                        break;

                    case '\\':
                        sb.Append(@"\\");
                        break;

                    case '\f':
                        sb.Append(@"\f");
                        break;

                    case '\b':
                        sb.Append(@"\b");
                        break;

                    case '\u0085': // Next Line
                        sb.Append(@"\u0085");
                        break;

                    case '\u2028': // Line Separator
                        sb.Append(@"\u2028");
                        break;

                    case '\u2029': // Paragraph Separator
                        sb.Append(@"\u2029");
                        break;

                    default:
                        if (c < ' ')
                        {
                            // Turn into a \uXXXX sequence
                            sb.Append(@"\u");
                            sb.Append(IntToHex((int)c));
                        }
                        else
                        {
                            sb.Append(c);
                        }
                        break;
                }
            }
            return sb.ToString().Trim();
        }