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应用程序中解码的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中解码汇率 JSON

在swift iOS中使用JSON解码器解析本地Json

iOS JSON解码数字类型错误

在 Android 中解码 jpeg

UnicodeDecodeError:“ascii”编解码器无法解码位置 0 的字节 0xe5:序数不在范围内(128)

在 Swift iOS 中解码的 PHP JSON 返回空值