2013-03-05 123 views
2

我有一个我从JSON获取的字符串。将JSON格式的NSString转换为NSMutableDictionary

{ 
    "Audit_Description": "Request Approved", 
    "Module_Name": "Resource Request", 
    "Field_DisplayName": null", 
    "Previous_Value": Education", 
    "Current_Value": Employment", 
    "Modified_Timestamp": "08-02-2013" 
}, 
{ 
    "Audit_Description": "Request Approved", 
    "Module_Name": "Resource Request", 
    "Field_DisplayName": null", 
    "Previous_Value": null", 
    "Current_Value": null", 
    "Modified_Timestamp": "08-02-2013" 
} 

我想解析数据。数据来自,如上所述。 我想提取它们作为密钥对值。但我无法解析它们。 这应该NSMutableDictionary被转换像 关键"Audit_Description"值应为"Request Approved"

输出:

@{ 
     @"Audit_Description" : @"Request Approved", 
     @"Module_Name" = @"Resource Request", 
     @"Field_DisplayName" : <null>, 
     @"Previous_Value" : @"Education", 
     @"Current_Value" : @"Employment", 
     @"Modified_Timestamp" : @"08-02-2013" 
    } 

感谢。

回答

11
NSError *err = nil; 
NSArray *arr = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&err]; 

// access the dictionaries 
NSMutableDictionary *dict = arr[0]; 
for (NSMutableDictionary *dictionary in arr) { 
    // do something using dictionary 
} 

由于NSJSONReadingMutableContainers,它创建了一个可变字典。

+0

我得到的mutableArray与2字典,我应该如何从数组中提取每个对象。我尝试类型转换但不done.Their不是键和值对 – 2013-03-05 12:20:04

+0

这是因为你的结构是一个数组与字典。您可以循环它们以获取每个数组,或直接访问某个位置,如任何数组:arr [0]。 – 2013-03-05 12:21:20

+0

你可以给我示例代码或参考。谢谢 – 2013-03-05 12:27:28