テストの結果、既に[NSJSONSerialization JSONObjectWithData:options:error:]
と解析されているJSONデータに対して、[NSJSONSerialization isValidJSONObject:]
を返すだけで肯定的な結果が得られます。 official documentationによればisValidJSONObjectが期待どおりに動作しない
:
指定されたオブジェクトは、JSONデータに を変換することができるかどうかを示すブール値を返しisValidJSONObject。
しかし、NSDictionaryのを私はJSONから変換しようとしていたオブジェクトが細かい変換しているにもかかわらず、isValidJSONObject
戻りNO
。
data is not JSON
dict is JSON
し、この時点では、巨大なNSMutableDictionaryオブジェクトである辞書の出力、:
NSURL * url=[NSURL URLWithString:urlString];
NSData * data=[NSData dataWithContentsOfURL:url];
NSError * error=[[NSError alloc] init];
NSMutableDictionary * dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
if([NSJSONSerialization isValidJSONObject:data]){
NSLog(@"data is JSON");
}else{
NSLog(@"data is not JSON");
}
if([NSJSONSerialization isValidJSONObject:dict]){
NSLog(@"dict is JSON");
}else{
NSLog(@"dict is not JSON");
}
NSLog(@"%@",dict);
私のログには、次のものが含まれます。
は、ここに私のコードです。このコードを実行するとエラーは発生しませんが、data
を実行すると、isValidJSONObject
が間違った値を返すようです。
isValidJSONObject
をどうすれば正常に動作させることができますか?
これは無駄な動きです: 'dict = [[NSMutableDictionary alloc] init];' –
@HotLicks私はそれをどうお勧めしますか? – Jimmery
OK、私はその行を削除します。アドバイスをいただきありがとうございます。 – Jimmery