将 NSString 转换为 JSON
Convert NSString to JSON
我正在将 [NSDictionary]
转换为 NSString
,如下所示:
do{
let newDict = try NSJSONSerialization.dataWithJSONObject(objectDictionaries, options: NSJSONWritingOptions.PrettyPrinted)
if let json = NSString(data: newDict, encoding: NSUTF8StringEncoding) {
print(json)
}
当 json
打印出来时,我得到这个:
如何在不更改格式的情况下将此 NSString 转换为 JSON,如图所示?
我想将此 json 发送到 API,我想要的格式是 API 唯一能够编码的格式,
删除 dataWithJSONObject
调用中的选项 NSJSONWritingOptions.PrettyPrinted
。这就是强制输出的字符串被格式化的原因。
NSJSONSerialization.dataWithJSONObject的输出有效JSON,这就是您应该发送给API的内容。除非您想查看输出以进行调试,否则转换为字符串是没有意义的。
如果您想查看输出以进行调试,NSJSONWritingOptions.PrettyPrinted 很有用,否则只是浪费时间,并且会使 JSON 大几个百分点,这会占用内存和发送时间到了API,时间到了API。
PS。如果 "Pretty printed" 与否对您的 API 有任何影响,那么您的 API 已经严重损坏。
我正在将 [NSDictionary]
转换为 NSString
,如下所示:
do{
let newDict = try NSJSONSerialization.dataWithJSONObject(objectDictionaries, options: NSJSONWritingOptions.PrettyPrinted)
if let json = NSString(data: newDict, encoding: NSUTF8StringEncoding) {
print(json)
}
当 json
打印出来时,我得到这个:
如何在不更改格式的情况下将此 NSString 转换为 JSON,如图所示? 我想将此 json 发送到 API,我想要的格式是 API 唯一能够编码的格式,
删除 dataWithJSONObject
调用中的选项 NSJSONWritingOptions.PrettyPrinted
。这就是强制输出的字符串被格式化的原因。
NSJSONSerialization.dataWithJSONObject的输出有效JSON,这就是您应该发送给API的内容。除非您想查看输出以进行调试,否则转换为字符串是没有意义的。
如果您想查看输出以进行调试,NSJSONWritingOptions.PrettyPrinted 很有用,否则只是浪费时间,并且会使 JSON 大几个百分点,这会占用内存和发送时间到了API,时间到了API。
PS。如果 "Pretty printed" 与否对您的 API 有任何影响,那么您的 API 已经严重损坏。