NSJSONSerialization
类有一种方法可以做到这一点......(编辑:不,它没有......)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
id jsonObj = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
BOOL isValid = [NSJSONSerialization isValidJSONObject:jsonObj];
编辑:(在 hypercrypts 的评论之后)
Hypercrypt 是对的(我真的不明白我是怎么错过的)......即使我的答案似乎有效,但它是错误的。方法是isValidJSONObject:
检查一个对象是否可以序列化为 JSON,而不是反过来。所以他的答案就是你要找的。如果您从 json 有效负载中获取可变副本,对其进行变异,然后想要检查尝试将其重新序列化回 JSON 字符串是否安全,则可以使用此方法。但底线是 hypercrypt 的答案是正确的,我认为将他的答案标记为正确而不是我的答案是非常公平的。无论如何,对于任何混乱和@hypercrypt感谢您指出这一点:)