Я работаю с API Underground Underground, чтобы сделать приложение, и я ударил его, разбору блока, связанного с серьезными предупреждениями. JSON использует пары ключ-значение, у которых есть пара значений ключа ключа, которые не были проблемой для меня, поскольку я могу сделать последующие NS-словари из них, но запись для серьезных предупреждений оказалась проблематичной. См. Ниже:
"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 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"];
Таким образом, конечным результатом будет строка с надписью "Частично облачно" или что-то еще, а также многочисленные связанные с ней значения погоды, которые я не показал. Эти синтаксические разборки успешно выполняются, потому что у них есть только скобки области {}, а не скобки [].