从PHP解析JSON:应用程序崩溃
我的应用程序在解析PHP中的JSON时遇到了一些问题。我所做的是在PHP上使用echo(JSON_编码)数组,当我使用url时,它会在浏览器上返回JSON格式 问题是,当我试图解析它时,应用程序崩溃,说数据为空 这是我正在使用的url(PHP): 下面是解析它的代码:从PHP解析JSON:应用程序崩溃,php,objective-c,json,echo,Php,Objective C,Json,Echo,我的应用程序在解析PHP中的JSON时遇到了一些问题。我所做的是在PHP上使用echo(JSON_编码)数组,当我使用url时,它会在浏览器上返回JSON格式 问题是,当我试图解析它时,应用程序崩溃,说数据为空 这是我正在使用的url(PHP): 下面是解析它的代码: // Download JSON NSData *JSONData = [NSData dataWithContentsOfURL:[NSURL URLWithString:theURL]]; NSLog
// Download JSON
NSData *JSONData = [NSData dataWithContentsOfURL:[NSURL URLWithString:theURL]];
NSLog(@"%@",JSONData);
// Parse JSON
NSArray *jsonResult = [NSJSONSerialization JSONObjectWithData:JSONData options:kNilOptions error:nil];
self.data = jsonResult;
NSMutableArray *_names = [NSMutableArray array];
for (id item in jsonResult)
[_names addObject:[NSString stringWithFormat:@"%@ %@", item[@"Name"], item[@"Last"]]];
self.names = _names;
应用程序崩溃,错误代码如下:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
但是,如果我使用这个url(JSON格式,txt),代码运行良好:
区别在于它是一个JSON格式的.txt文件
为什么应用程序会崩溃?有什么建议吗
谢谢大家! iamitman站点的响应标题中的
内容类型是“text/html”,其中另一个是“text/plain”。如果您将其设置为使用特定于JSON的内容类型(如“application/JSON”),它是否可以工作?这个更改必须在服务器上完成,或者我必须在运行PHP的服务器上的应用程序本身上完成。您可以使用PHPheader()
函数设置内容类型OK!我要试试看!如果行得通,我会告诉你的。