C
C
JSON Hex Encoding
See more JSON Examples
Let's say your JSON contains content that is hex encoded like this: \u05d1\u05d3\u05d9\u05e7This example shows how to get the decoded string.
Chilkat C Downloads
#include <C_CkJsonObject.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
const char *s;
HCkJsonObject json;
HCkStringBuilder sb;
success = FALSE;
s = "{ \"example\": \"\\u05d1\\u05d3\\u05d9\\u05e7\" }";
json = CkJsonObject_Create();
success = CkJsonObject_Load(json,s);
// When getting the member data, it is automatically decoded.
printf("member data: %s\n",CkJsonObject_stringOf(json,"example"));
// Output:
// member data: בדיק
// When getting the full JSON, it remains encoded. This is expected and intentional.
printf("full JSON: %s\n",CkJsonObject_emit(json));
// Output:
// full JSON: {"example":"\u05d1\u05d3\u05d9\u05e7"}
// To get the full JSON without the encoding, you can decode manually.
sb = CkStringBuilder_Create();
CkJsonObject_EmitSb(json,sb);
// The hex encoding used by JSON is utf-8.
CkStringBuilder_Decode(sb,"json","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb));
// Output:
// {"example":"בדיק"}
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sb);
}