我正在尝试从服务器获取数据。
在Web浏览器中查看数据时的数据如下所示:
["IAP000000_1","IAP000000_2","IAP000000_7","IAP000000_8"]
我要做的是将JSON NSData转换为NSArray,但不知道如何。有人可以帮忙吗?我的代码在下面听了,如果我可以改进下面的代码请说,我一直试图在很长时间内了解互联网的例子。
由于
+ (void) GetProductIdentifiers
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* kivaData = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@"blah blah"]
];
dispatch_async(dispatch_get_main_queue(), ^{
[self ReturnArray: kivaData];
});
});
}
+ (NSArray*) ReturnArray:(NSData*)json{
//Convert data here from json to nsarray
}
答案 0 :(得分:1)
+ (NSArray*) ReturnArray:(NSData*)json{
//Convert data here from json to nsarray
NSError *jsonError;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingAllowFragments error:&jsonError];
if (jsonError)
{
NSLog(@"%@", jsonError.description);
return nil;
}
return jsonArray;
}
答案 1 :(得分:1)
您所要做的就是将NSData序列化为JSON:
NSArray *data = [NSJSONSerialization JSONObjectWithData:kivaData
options:NSJSONReadingMutableContainers
error:nil];
for (NSString * iap in data) {
NSLog(@"iap = %@", iap);
}