【发布时间】:2014-07-14 23:34:55
【问题描述】:
我有一个NSDictionary(参数),其中包含以下数据:
{
deviceType = iPhone;
ordersActionList = ({
endDate = "07/14/2014 14:32";
orderId = 2807171;
reason = "Some reason";
}
);
}
当我使用NSJSONSerialization 解析上述内容时:
NSError *err;
NSData *jsonData =[NSJSONSerialization dataWithJSONObject:params options:0 error:&err];
endDate 中添加转义字符,endDate 显示如下:
`"endDate": "07\/14\/2014 14:32"`
这是不正确的,有人可以建议我在使用 NSJSONSerialization 进行序列化时如何避免 JSON 中的转义字符吗?
编辑: 这是我目前的工作,但我不喜欢这样做,我希望有更好的解决方案:
-(NSData*) converToNSData:(NSDictionary *)params
{
NSError * err;
NSData *jsonData =[NSJSONSerialization dataWithJSONObject:params options:0 error:&err];
NSString *jsonStr1 = [NSString stringWithUTF8String:[jsonData bytes]];
jsonStr1 = [jsonStr1 stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
NSData *jsonData2 =[jsonStr1 dataUsingEncoding:NSUTF8StringEncoding];
return jsonData2;
}
【问题讨论】:
-
这正是它应该做的。
-
黑斜线必须在 JSON 字符串中进行转义。
-
troop231,我已经有了解决方法的答案,但我忘了把它放在我的初始帖子中,但我最初不能使用这个解决方案,因为我不应该接触 json ......我正在寻找一种方法要通过 NSJSONSerialization 做到这一点,如果那是不可能的,那么我将不得不以不同的方式将日期发送到 JSON,不过感谢您的建议。
-
你为什么要解决一个不存在的问题???
-
热舔,我没听懂你。我认为应该有一种方法可以告诉 NSJSONSerialization 保持文本不变。
标签: ios nsdictionary nsjsonserialization