json不在iOS应用程序中解码
Posted
技术标签:
【中文标题】json不在iOS应用程序中解码【英文标题】:json not decoding in iOS app 【发布时间】:2013-11-07 22:50:16 【问题描述】:您好,我正在使用 NSJSONSerialization 来解码来自我的 ios 应用程序的网络服务器的 json 数据。早些时候它工作正常并且解码完美。现在突然间,解码只返回我(null)。我什至用硬编码的 json 字符串替换了代码,如下所示,但系统只是为所有内容返回(空)响应。我已经尝试将此代码 sn-p 放置在应用程序的不同部分,而没有任何变化。关于它为什么突然停止工作的任何想法?下面是硬编码的版本
NSError *error;
NSDictionary *JSON =
[NSJSONSerialization JSONObjectWithData: [@"\"testdata\":\"1.1\"" dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error: &error];
NSLog(@"Hardcoded JSON %@", JSON);
NSLog(@"Error in JSON is %@", [error localizedDescription]);
NSString *data = [NSString stringWithFormat:@"%@",[jsonDict valueForKey:@"testdata"]];
NSLog(@"Data received %@", data);
同样的日志是:
2013-11-08 04:13:57- 硬编码 JSON(空) 2013-11-08 04:13:57- JSON 中的错误是(空) 2013-11-08 04:13:57- 收到的数据(空)
【问题讨论】:
我复制粘贴了你的硬编码示例,它工作得很好。 您的代码有效,并生成有效的 JSON 字典。会不会是您在项目中添加了一些覆盖 NSJSONSerialization 行为的文件? 【参考方案1】:试试这个
Error *error;
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:nil error:&error];
【讨论】:
以上是关于json不在iOS应用程序中解码的主要内容,如果未能解决你的问题,请参考以下文章
UnicodeDecodeError:“ascii”编解码器无法解码位置 0 的字节 0xe5:序数不在范围内(128)