1

ASIHTTPRequest を使用して、サーバーから JSON 応答を取得しています。そして、この応答を NSArray に変換したいと思います。私のコード:

    NSURL *url = [NSURL URLWithString:@"http://chirkov.net.ua/iosnettest/request.php?act=showdata&query=2;0;3;0;ASC"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous];
NSError *error = [request error];
if (!error) { 
    NSData *responseData = [[NSMutableData alloc] initWithData:[request responseData]];
    NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:responseData];
    NSLog(@"array = %@",array);
}

しかし、例外がありますTerminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0xffffffef, 0xffffffbb, 0xffffffbf, 0x5b, 0x7b, 0x22, 0x69, 0x64。どうすれば問題を解決できますか?

4

2 に答える 2

1

JSONデータを取得するため、NSJSONSerializationを使用してそのデータを変換する必要があります。クラスリファレンスをご覧ください。

http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

こちらもチェックしてくださいJSONの操作

于 2013-02-14T13:46:27.923 に答える
1

次のように NSJSONSerialization を使用できます。

NSError *jsonError = nil;
NSArray *jsonObject = (NSArray *)[NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&jsonError];
于 2013-02-14T14:13:16.527 に答える