NSJSONSerialization
classe ont une méthode pour faire exactement cela ... (EDIT: Non, ce ne ...)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
id jsonObj = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
BOOL isValid = [NSJSONSerialization isValidJSONObject:jsonObj];
EDIT: (Après le commentaire de hypercrypts)
Hypercrypt est juste (je ne peux vraiment pas comprendre comment j'ai raté cela) ... Même si ma réponse semble fonctionner, c'est tort. Ce que fait la méthode isValidJSONObject:
est de vérifier si un objet peut être sérialisé en JSON et non l'inverse. Donc, sa réponse est ce que vous cherchez. Vous pouvez utiliser cette méthode dans le cas où vous récupérez une copie mutable à partir d'une charge utile json, la muter et plus tard, vous voulez vérifier s'il est prudent d'essayer de la ré-sérialiser en une chaîne JSON. Mais la conclusion est que la réponse d'hypercrypt est la bonne et je pense qu'il serait plus que juste de marquer sa réponse comme correcte au lieu de la mienne. De toute façon, désolé pour toute confusion et merci @hypercrypt pour le signaler :)
Pouvez-vous s'il vous plaît fournir un exemple de code montrant comment attraper l'erreur avec le code d'erreur? –