Преобразование массива JSON в NSDictionary

Я работаю с API Weather Underground над созданием приложения, и я столкнулся с проблемой при анализе блока, относящегося к к серьезным предупреждениям. В JSON используются пары значений ключа -, которые имеют пары значений подключа --, что не было проблемой для меня, поскольку я могу создавать последующие NSDictionary из этих --, но запись для серьезных предупреждений оказалась проблематичной. См. ниже :

"alerts": [
    {
    "type": "WAT",
    "description": "Flash Flood Watch",
    "date": "3:13 PM EDT on April 28, 2012",
    "date_epoch": "1335640380",
    "expires": "8:00 AM EDT on April 29, 2012",
    "expires_epoch": "1335700800",
    "message": "\u000A...Flash Flood Watch in effect through Sunday morning...\u000A\u000AThe National Weather Service in Charleston has issued a\u000A\u000A* Flash Flood Watch for portions of northeast Kentucky... (Note: I trimmed this for length's sake),
    "phenomena": "FF",
    "significance": "A"
    }
]

. Пара «оповещения» отличается от других, которые мне удалось разобрать, потому что у нее есть скобка [ ] , окружающая вспомогательные значения -, и я не знаю, как ее очистить. поэтому я могу получить доступ к подзначениям. В других примерах, которые мне удалось разобрать, в нем есть только скобки { } , а не обе скобки { } и [ ]. Для справки, квадратные скобки всегда присутствуют --, даже когда нет предупреждений о суровой погоде... в этом случае пара «оповещения» возвращает квадратные скобки [ ] без подпар -.

Можно ли удалить скобки [ ] из NSDictionary или иным образом игнорировать их? Любой совет будет принят во внимание!


Для справки и устранения неполадок, вот как я успешно анализирую остальную часть документа JSON:

1 )Создание NSDictionary из необработанного JSON

//Process Weather Call
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

2 )Создание последующих словарей для вложенных пар json

NSDictionary *current_observation = [json objectForKey:@"current_observation"];

3 )Присвоение значений

NSString* weather;
weather = [current_observation objectForKey:@"weather"];

Таким образом, конечным результатом будет строка с надписью «Переменная облачность» или что-то в этом роде вместе с многочисленными связанными значениями погоды, которые я не показал. Они анализируются успешно, потому что у них есть только скобки области видимости { }, а не скобки [ ].

10
задан Anthony Neace 29 April 2013 в 00:29
поделиться