如何将JSON数组转换为NSArray

时间:2012-02-01 22:56:53

标签: objective-c ios json nsstring nsarray

我一直无法找到如何将JSON数组转换为NSArray。

我有一个php脚本,它创建一个转换为JSON的数组,然后将其发送并存储到NSString中,如下所示:

[1,2,3,4]

我的问题是我需要把它变成一个整体的NSArray。如何做到这一点?

谢谢!

3 个答案:

答案 0 :(得分:6)

您应该查看NSJSONSerialization类的文档。

您可以将从JSON格式的字符串远程调用接收的NSData交给它,并接收它包含的数组或字典。

NSObject *o =[NSJSONSerialization JSONObjectWithData:data 
                                             options:NSJSONReadingMutableContainers 
                                               error:&error];

// other useful "options":
// 0 
// NSJSONReadingMutableLeaves
// NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers

然后,您应该检查o是否符合您出于理智目的的类型

答案 1 :(得分:4)

如果我想快速将其分解为数组,我会这样做:

NSString * jstring = @"[1,2,3,4]";  //your json string

jstring = [jstring stringByReplacingOccurrencesOfString:@"[" withString:@""];
jstring = [jstring stringByReplacingOccurrencesOfString:@"]" withString:@""];

NSArray * intArray = [string componentsSeparatedByString:@","];



//you could create your int from the array like this
int x = [[intArray objectAtIndex:0]intValue];

答案 2 :(得分:0)

在项目中导入SBJson(拖放)

#import "SBJson.h"

然后从php文件

收到JSON响应
NSArray *array = [responseString JSONValue];