使用jsonkit iOS解析json提要

时间:2011-06-19 23:04:42

标签: ios json ios4

我正在尝试使用此处https://github.com/johnezang/JSONKit中的JSONKIt来解析JSON Feed并将其放入objective-c对象中。我是iOS的新手,并不知道从哪里开始。有没有关于使用这个库的好教程?

2 个答案:

答案 0 :(得分:16)

谷歌搜索后,我没有找到任何教程,但使用JSONKit应该是自我解释。

使用NSURLConnection或ASIHTTPRequest下载JSON源后,只需创建JSON源中所有对象的字典,如下所示:

//jsonString is your downloaded string JSON Feed
NSDictionary *deserializedData = [jsonString objectFromJSONString];

//Helpful snippet to log all the deserialized objects and their keys
NSLog(@"%@", [deserializedData description]);

创建字典后,您可以执行以下操作:

    NSString *string = [deserializedData objectForKey:@"someJSONKey"];

这就是JSONKit背后的基础。

JSONKit当然要强大得多,你可以在JSONKit.h中找到一些你可以用它做的其他事情。

答案 1 :(得分:0)

我会假设objectFromJSONString返回一个NSDictionary,它可以很好地返回一个数组,或nil,特别是如果服务器返回一些很少使用和思考的错误。

更合适的行动是:

NSError *error;
id rawData = [jsonString objectFromJSONStringWithParseOptions:JKParseOptionNone error:&error];

if ( error != nil ) {
    // evaluate the error and handle appropriately
}

if ( [rawData isKindOfClass:[NSDictionary class]] ) {
    // process dictionary
}
else if ( [rawData isKindOfClass:[NSArray class]] ) {
    // process array
}
else {
    // someting else happened, 'rawData' is likely 'nil'
    // handle appropriately
}

如果没有这些检查,您最终可能会遇到运行时错误,因为服务器返回了一些意外的错误。