3

文字列を json オブジェクトに変換しようとしていますが、これが機能しない理由がわかりません。出力を nslog すると、urldata は json のシリアル化には無効であると言われますが、文字列を見ると、有効な json のように見えます。また、utf8 にエンコードしようとしましたが、まだシリアル化されません。ここで何か不足していますか?-ポストから省略された不要なコードに注意してください。

リクエストを取得

urlData = [NSURLConnection sendSynchronousRequest:urlRequest
                                returningResponse:&response
                                            error:&error];

NSDictionary *tempDict = [NSDictionary alloc];

解析中

if ([NSJSONSerialization isValidJSONObject:urlData] ) {
    NSLog(@"is valid");
    tempDict = [NSJSONSerialization JSONObjectWithData:urlData kniloptions error:&error];
}

NSLog(@"is not valid");

定義: isValidJSONObject: 特定のオブジェクトを JSON データに変換できるかどうかを示すブール値を返します。

4

1 に答える 1

4

質問ですでに言及しているように、isValidJSONObject

指定されたオブジェクトをJSON データに変換できるかどうかを示すブール値を返します

あなたの場合、JSON データを作成するのではなく、JSON データから辞書を作成します。:

tempDict = [NSJSONSerialization JSONObjectWithData:urlData
                                           options:NSJSONReadingMutableContainers
                                             error:&error];

if (!tempDict) {
  NSLog(@"Error parsing JSON: %@", error);
}
于 2013-05-15T06:50:00.917 に答える