(C++) JSON Hex Encoding
Let's say your JSON contains content that is hex encoded like this: \u05d1\u05d3\u05d9\u05e7
This example shows how to get the decoded string.
#include <CkJsonObject.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
const char *s = "{ \"example\": \"\\u05d1\\u05d3\\u05d9\\u05e7\" }";
CkJsonObject json;
bool success = json.Load(s);
// When getting the member data, it is automatically decoded.
std::cout << "member data: " << json.stringOf("example") << "\r\n";
// Output:
// member data: בדיק
// When getting the full JSON, it remains encoded. This is expected and intentional.
std::cout << "full JSON: " << json.emit() << "\r\n";
// Output:
// full JSON: {"example":"\u05d1\u05d3\u05d9\u05e7"}
// To get the full JSON without the encoding, you can decode manually.
CkStringBuilder sb;
json.EmitSb(sb);
// The hex encoding used by JSON is utf-8.
sb.Decode("json","utf-8");
std::cout << sb.getAsString() << "\r\n";
// Output:
// {"example":"בדיק"}
}
|