Sample code for 30+ languages & platforms
Unicode C

Pretty Print JSON (Formatter, Beautifier)

See more JSON Examples

Demonstrates how to emit JSON in a pretty, human-readable format with indenting of nested arrays and objects.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkJsonObjectW json;
    const wchar_t *jsonStr;

    success = FALSE;

    json = CkJsonObjectW_Create();

    jsonStr = L"{\"name\": \"donut\",\"image\":{\"fname\": \"donut.jpg\",\"w\": 200,\"h\": 200},\"thumbnail\":{\"fname\": \"donutThumb.jpg\",\"w\": 32,\"h\": 32}}";

    success = CkJsonObjectW_Load(json,jsonStr);
    if (success != TRUE) {
        wprintf(L"%s\n",CkJsonObjectW_lastErrorText(json));
        CkJsonObjectW_Dispose(json);
        return;
    }

    // To pretty-print, set the EmitCompact property equal to FALSE
    CkJsonObjectW_putEmitCompact(json,FALSE);

    // If bare-LF line endings are desired, turn off EmitCrLf
    // Otherwise CRLF line endings are emitted.
    CkJsonObjectW_putEmitCrLf(json,FALSE);

    // Emit the formatted JSON:
    wprintf(L"%s\n",CkJsonObjectW_emit(json));


    CkJsonObjectW_Dispose(json);

    }