Xcode JSON如何将数据转换为我可以使用的格式

时间:2014-08-13 21:18:43

标签: objective-c json

我正在尝试从服务器获取数据。

在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
}

2 个答案:

答案 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);
}