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 <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    HCkStringBuilderW sb;

    sb = CkStringBuilderW_Create();

    CkStringBuilderW_Append(sb,L"backslash: \\\\, A: \\u0041");
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    //  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.
    CkStringBuilderW_Decode(sb,L"json",L"utf-8");
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

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

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

    //  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.


    CkStringBuilderW_Dispose(sb);

    }