使用 NSDictionary 访问 JSON 序列化时出现异常

Posted

技术标签:

【中文标题】使用 NSDictionary 访问 JSON 序列化时出现异常【英文标题】:Exception in Access to JSONserialization with NSDictionary 【发布时间】:2016-07-26 23:58:24 【问题描述】:

我有来自 API Rest 的数据。我将其转换为带有序列化的NSArray 并将其转换为字典。但我无法访问对值(如下)。

    我的第一步:

    NSArray *arrayDiccionario = [NSJSONSerialization JSONObjectWithData:data _
    options:NSJSONReadingMutableContainers error:&errorSerializacion];
    

    我的第二步:

    NSMutableArray *arrayMisObjetos = [NSMutableArray new];
    

    我的第三步:

    for(NSDictionary *diccionario in arrayDiccionario)
     
        _eventId = [ [ diccionario objectForKey:@"id" ] intValue ]; 
        _nameEvent = [  diccionario objectForKey:@"nameEvent"   ];    
    
    

    在这一步我有一个例外。

    diccionario have 0 elements and I don´t have access to any object with Keys
    

怎么了?

对不起我的英语。

---- arrayDiccionario Information ----
--------------------------------------
 [0]    (null) @"listEvents" : @"10 elements" 
 key    __NSCFString    *    @"listEvents" 
 value  __NSArrayM      *    @"10 elements" 
 [0]    __NSDictionaryM *    2 key/value pairs 
 [0]    (null) @"id" : (long)65 
 [1]    (null) @"nameEvent" : @"Open Malaga" 
 [1]    __NSDictionaryM *    2 key/value pairs 
 [2]    __NSDictionaryM *    2 key/value pairs 
 [3]    __NSDictionaryM *    2 key/value pairs 
 [4]    __NSDictionaryM *    2 key/value pairs 
 [5]    __NSDictionaryM *    2 key/value pairs 
 [6]    __NSDictionaryM *    2 key/value pairs 
 [7]    __NSDictionaryM *    2 key/value pairs 
 [8]    __NSDictionaryM *    2 key/value pairs 
 [9]    __NSDictionaryM *    2 key/value pairs 

【问题讨论】:

我更新了有序列表和代码格式。如果这不正确,请应用正确的格式。 【参考方案1】:

你的json是什么?先显示你的json for(NSDictionary *diccionario in arrayDiccionario) 你的 arrayDictionay 不是一个数组。是一个字典。你不能使用 for(NSDictionary *diccionario in arrayDiccionary)

【讨论】:

以上是关于使用 NSDictionary 访问 JSON 序列化时出现异常的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 json 创建的 nsdictionary 访问信息

访问从 NSJSONSerialization 生成的 NSDictionary 中的 JSON 数据

如何在 NSDictionary 中访问本地 JSON 文件响应以在 UITableView 中显示?

在 Swift 中访问 JSON NSDictionary 对象值的简单方法?

使用 NSDictionary 访问 NSJSONSerialization 数据

JSON 和嵌套的 NSDictionary