2014-02-04 3 views
1

Как сохранить эти данные в NSArray?Значения Json в NSArray Анализ в IOS

Я получаю JSON ответ в таком формате, как это:

{ 
    1 = USA; 
    4 = India; 
} 

Мне нужно преобразовать это в NSArray

+1

Как? Это объект (словарь). Вам просто нужны все значения в массиве? '[myDictionary allValues]' – Wain

ответ

0

Это JSON словарь Прежде всего преобразовать это NSDictionary из JSON.

NSDictionary *dictionary = //parse json using NSJSONSerilization 
NSArray *array = [dictionary allValues]; 

allValues вернет массив со всеми объектами.

0

Попробуйте это:

NSString *jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; 
NSDictionary *dictionary =[jsonString JSONValue]; 
NSArray *array = [dictionary allValues]; 
NSLog(@"Array values = %@",array); 
1

Если JSON является строкой, то получите NSData объект первый:

NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 

Затем включите его в NSDictionary используя NSJSONSerialization класс:

NSError* error = nil; 
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 

Поскольку вы сказали, что хотите NSArray, сделайте следующее :

NSArray *jsonArray = [jsonDict allValues]; 

Обратите внимание, что порядок записей в массиве не определен, согласно документации Apple. Поэтому, если вам нужен конкретный заказ, вам нужно будет найти лучший подход.

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