NSJSONSerialization
Класс имеет метод, чтобы сделать именно это ... ( РЕДАКТИРОВАТЬ: нет, это не ...)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
id jsonObj = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
BOOL isValid = [NSJSONSerialization isValidJSONObject:jsonObj];
РЕДАКТИРОВАТЬ: (после комментария гиперкриптов)
Гиперкрипт прав (я действительно не могу понять, как я это пропустил) ... Хотя мой ответ, кажется, работает, он неправильный .Метод isValidJSONObject:
проверяет, можно ли сериализовать объект в JSON, а не наоборот.Поэтому его ответ - то, что вы ищете.Однако вы можете использовать этот метод в случае, если вы извлекаете изменяемую копию из полезной нагрузки json, изменяете ее, а затем хотите проверить, безопасно ли пытаться повторно сериализовать ее обратно в строку JSON.Но суть в том, что ответ гиперкрипта является правильным, и я думаю, что было бы более чем справедливо отметить его ответ правильным, а не мой.В любом случае, извините за путаницу и спасибо @hypercrypt за то, что указал на это:)