2013-03-05 2 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" 
} 

Я хочу проанализировать данные. От JSON данные поступают в NSString, как указано выше. Я хочу извлечь их как значение пары ключей. Но я не могу их разобрать. Это должно быть преобразовать в 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 dict. Как я должен извлечь каждый объект из массива. Я пытаюсь сделать typginging, но не сделан. Они не являются ключами и парами значений –

+0

Это потому, что ваша структура представляет собой массив со словарями. Вы можете зацикливать их, чтобы получить каждый, или получить доступ к позиции напрямую, как и любой массив: arr [0]. –

+0

Можете ли вы дать мне пример кода или refrence .thanks –

Смежные вопросы