如何从Objective C中读取Java生成的JSON数据?

时间:2013-07-25 16:00:02

标签: objective-c json

我已经从Java Restful WebServices生成了JSON数据,我需要加入Objective C代码。如何使用JSON数据并集成到Objective C中? IDE已生成本地URL,如何在其他计算机中使用生成的JSON数据。谢谢

3 个答案:

答案 0 :(得分:1)

使用任何可用的JSON解析器。这个问题比较了其中几个:Comparison of JSON Parser for Objective-C (JSON Framework, YAJL, TouchJSON, etc)

答案 1 :(得分:1)

查看NSURLConnection以从您的Web服务中检索JSON。然后你可以使用NSJSONSerialization来解析它。

答案 2 :(得分:1)

您可以从网址请求NSData,然后使用NSJSONSerialization进行解释。例如:

NSURL *url = [NSURL URLWithString:@"http://www.put.your.url.here/test.json"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
    if (error) {
        NSLog(@"%s: sendAsynchronousRequest error: %@", __FUNCTION__, error);
        return;
    }

    NSError *jsonError = nil;
    NSArray *results = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
    if (jsonError) {
        NSLog(@"%s: JSONObjectWithData error: %@", __FUNCTION__, jsonError);
        return;
    }

    // now you can use the array/dictionary you got from JSONObjectWithData; I'll just log it

    NSLog(@"results = %@", results);
}];

显然,假设JSON代表一个数组。如果它是字典,您可以使用NSArray引用替换NSDictionary引用。但希望这说明了这个想法。