Разбор JSON-массива словарей с разными ключами - PullRequest
0 голосов
/ 21 июня 2019

Я работаю над API, который возвращает JSON. Хотя я знаю код, который обрабатывает JSON, я не могу изменить его, так как работаю над серверным API.

Клиент iOS может анализировать следующий JSON:

{"comment":[{"response":"Great idea"},{"response":"Not sure I agree"}]}

с помощью:

if (![[json objectForKey:@"comment"] isKindOfClass:[NSNull class]]) {
    NSMutableArray *someComments = [[json objectForKey:@"comment"]mutableCopy];
    if ([someComments count]>=1) {
        NSDictionary *topComment = someComments[0];
        comment = [topComment valueForKey:@"response"];
        if (comment.length>=1) {
//display
        }
    }
}

Когда я пытаюсь проанализировать аналогичный JSON с разными ключами, как показано ниже, он не анализируется. К сожалению, я не вижу, где что-то идет не так, только то, что это не работает.

{"comment":[{"value":"Great idea","response":"Great idea"}]}

Я не могу изменить код iOS, только API и JSON. Может кто-нибудь объяснить, почему присутствие "value":"Great idea", отбрасывает вещи? Поле значения вызывается другим кодом в приложении, и чтобы избавиться от него, мне нужно было бы переписать несколько запросов - не невозможно, но то, что я надеялся не делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...