在 Objective c 中难以处理 json 格式
Posted
技术标签:
【中文标题】在 Objective c 中难以处理 json 格式【英文标题】:Difficult to handling json formatting in Objective c 【发布时间】:2017-07-20 05:40:14 【问题描述】:我需要从这个数组中转换 json 字符串
(
1 = 4;
,
8 = 20;
)
实际上我需要像"custom":"1":"3","8":"21"
这样的输出,但我得到了“\n \"custom\" : \"[\\n \\n \\\"1\\\" : \\\"4\\\"\\n ,\\n \\n \\\"8\\\" : \\\"20\\\"\\n \\n]\"\n"
”
这是我的代码
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mydict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
有没有办法得到这样的输出:"custom":"1":"3","8":"21"
【问题讨论】:
【参考方案1】:只需将NSJSONWritingPrettyPrinted
替换为 0。
【讨论】:
谢谢你,现在我得到了 ["1":"4","8":"20"] 。你能帮忙看看如何制作这样的 "7":"8","8":"5" @Subramani - 你有一个字典数组,如果你想输出一个 JSON 字典,在进行 JSON 转换之前从你的数组中生成一个字典。【参考方案2】:尝试像这样删除NSJSONWritingPrettyPrinted
选项:
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mydict options:0 error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
根据文档NSJSONWritingPrettyPrinted
adds whitespace 使输出可读,删除该选项可提供最紧凑的 JSON。
更多here
【讨论】:
谢谢你,我已经这样做了,有什么办法可以从 ["1":"4" 中制作这样的 "7":"8","8":"5" ,"8":"20"]以上是关于在 Objective c 中难以处理 json 格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Objective C 的 AFNetworking JSON 帖子返回不受支持的媒体类型
如何在Objective C中使用NSData创建json对象?
如何在 Objective C 中解析***的 JSON 数据?