ios - Objective-C解析Json并检查响应是否是对象数组中的单个对象

标签 ios iphone objective-c json

我从互联网上读取了一个json文件。它包含一个或多个源。使用我的代码,如果用户只有一个来源,则应用程序崩溃

NSDictionary *results = [stringSubscriptions JSONValue];

for (NSDictionary *element in results){
    SubscriptionArray *add = [[SubscriptionArray alloc] init];
    add.title=[element objectForKey:@"title"];
    add.source=[element objectForKey:@"website"];
    add.htmlUrl=[element objectForKey:@"id"];
    add.count=0;
    [onlySubsriptions addObject:add];
    [add release];

}

我怎么解决这个问题?
谢谢

两个或多个对象
[
    {
        "website": "http://www.ispazio.net", 
        "updated": 1392645040345, 
        "title": "iSpazio - IL Blog Italiano per le Notizie sull'iPhone 5S, iPhone 5C, 5 e 4S con recensioni App Store e Guide al Jailbreak", 
        "topics": [
            "Apple", 
            "iphone", 
            "Tecnologia", 
            "Tech", 
            "Mac"
        ], 
        "sortid": "26152F8F", 
        "velocity": 196.0, 
        "id": "feed/http://feeds.feedburner.com/Ispazio", 
        "categories": []
    }, 
    {
        "website": "http://www.xataka.com", 
        "updated": 1392640863251, 
        "title": "Xataka", 
        "topics": [
            "Tecnología", 
            "Tecnologia", 
            "Gadgets", 
            "Tech"
        ], 
        "velocity": 92.200000000000003, 
        "id": "feed/http://feeds.weblogssl.com/xataka2", 
        "categories": []
    }
]

一个对象
{
    "website": "http://www.ispazio.net", 
    "updated": 1392645040345, 
    "title": "iSpazio - IL Blog Italiano per le Notizie sull'iPhone 5S, iPhone 5C, 5 e 4S con recensioni App Store e Guide al Jailbreak", 
    "topics": [
        "Apple", 
        "iphone", 
        "Tecnologia", 
        "Tech", 
        "Mac"
    ], 
    "sortid": "26152F8F", 
    "velocity": 196.0, 
    "id": "feed/http://feeds.feedburner.com/Ispazio", 
    "categories": []
}

最佳答案

您可以检查结果对象是哪种类,请尝试如下操作:

id result = [stringSubscriptions JSONValue];
if ([result isKindOfClass:[NSArray class])
    NSLog(@"NSArray");
else if ([result isKindOfClass:[NSDictionary class])
    NSLog(@"NSDictionary");

关于ios - Objective-C解析Json并检查响应是否是对象数组中的单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831800/

相关文章:

ios - 陀螺仪数据的 CMSensorRecorder

ios - 如何在 ios 的 swift 语言中为具有其他类型输入的变量设置 setter?

ios - 在 firebase 数据库中搜索

objective-c - 删除 NSMutableURLRequest 中的 HTTP header

ios - 我可以在 UIAlertView 的按钮中使用多行文本吗?

ios - 向 Apple Store 提交 iOS 应用程序时如何添加特定要求?

ios - 我正在显示诸如 Expendable Tableview 之类的数据

iphone - 在为 iOS 6.1 构建并在 iOS 7 下运行时,如何更改 UIBarButtonItem 的 TintColor?

iphone - 如何在调用电话后恢复背景音乐(iOS)?

iphone - UINavigationController 自定义 popViewControllerAnimated 方法