【发布时间】:2016-11-10 19:34:36
【问题描述】:
我正在尝试使用 NSJSONSerialization.dataWithJSONObeject 函数将 NSDictionary 转换为 JSON
代码:
do{
let jsonData = try NSJSONSerialization.dataWithJSONObject(SerializationHelper.toDictionary(user), options: NSJSONWritingOptions.PrettyPrinted )
print(jsonData)
} catch {
print(error)
}
除了 jsonData 以十六进制打印之外,一切都很好?
<7b0a2020 22706173 73776f72 6422203a 20227465 7374222c 0a202022 75736572 6e616d65 22203a20 22546573 74220a7d>
当这个十六进制字符串转换为二进制时,它实际上等于 JSON 对象,但显然我需要立即使用 JSON 对象。
任何想法为什么会这样?
【问题讨论】:
-
如您所说,该数据是 JSON 编码。为了将其视为字符串,您需要通过
String(data:jsonData, encoding: .utf8)将数据转换为字符串,但如果您要通过网络发送 JSON,大多数框架只需要数据
标签: ios swift hex nsjsonserialization