Sample code for 30+ languages & platforms
Unicode C++

JSON Escape and Unescape a String

Demonstrates how to JSON escape or unescape a string.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkStringBuilderW.h>

void ChilkatSample(void)
    {
    CkStringBuilderW sb;

    sb.Append(L"backslash: \\\\, A: \\u0041");
    wprintf(L"%s\n",sb.getAsString());

    //  The output is:
    //     backslash: \\, A: \u0041

    //  The keyword "json" can be used
    //  to escape and unescape.  To escape is to encode.  To unescape is to decode.

    //  Unescape (decode) the string in sb.
    sb.Decode(L"json",L"utf-8");
    wprintf(L"%s\n",sb.getAsString());

    //  After JSON unescaping:
    //     backslash: \, A: A

    //  Now JSON escape the string.
    sb.Encode(L"json",L"utf-8");
    wprintf(L"%s\n",sb.getAsString());

    //  After JSON escaping:
    //     backslash: \\, A: A

    //  Note: The "A" is not escaped to "\u0041" because there is no need.
    //  The "\uXXXX" format would be produced for non-printable control chars.
    }