(Swift) 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.
func chilkatTest() {
var s: String? = "{ \"example\": \"\\u05d1\\u05d3\\u05d9\\u05e7\" }"
let json = CkoJsonObject()!
var success: Bool = json.load(s)
// When getting the member data, it is automatically decoded.
print("member data: \(json.string(of: "example")!)")
// Output:
// member data: בדיק
// When getting the full JSON, it remains encoded. This is expected and intentional.
print("full JSON: \(json.emit()!)")
// Output:
// full JSON: {"example":"\u05d1\u05d3\u05d9\u05e7"}
// To get the full JSON without the encoding, you can decode manually.
let sb = CkoStringBuilder()!
json.emitSb(sb)
// The hex encoding used by JSON is utf-8.
sb.decode("json", charset: "utf-8")
print("\(sb.getAsString()!)")
// Output:
// {"example":"בדיק"}
}
|