25

私はこの奇妙な問題を抱えています。NSDictionary が正しい整数値を返していません。

サーバーからの JSON 応答コード。

{
"status":"ok",
"error_code":0,
"data" : [],
"msg":"everything is working!"
}

JSON は NSDictionary に変換されています。

NSError *error = nil;
NSDictionary *jsonDict = [NSJSONSerialization
                          JSONObjectWithData:data
                          options:NSJSONReadingMutableContainers
                          error: &error];

次のコードを使用して NSDictionary 値にアクセスします。

int error_code = (int)[jsonDict valueForKey:@"error_code"]
NSLog(@"%i", error_code);
The log outputs the following: 143005344

objectForKey も試してみましたが、同じ応答が得られました。

前もって感謝します。

4

2 に答える 2

10

数値はNSNumber、plist/json 辞書にインスタンスとして格納されます。NSNumber次のように の getter の1 つを呼び出してみてくださいintValue

int error_code = [jsonDict[@"error_code"] intValue];

辞書の新しい添字構文にも注意してください。

于 2013-09-04T12:45:39.053 に答える