我有一个发出 POST 请求的简单应用。然后返回数据。问题是返回的数据不是json.....那怎么查看呢?这是我的代码:
NSString *requestString = [NSString stringWithFormat:@"https://serveraddress.com"];
NSString *string = [NSString stringWithFormat:@"id=%@&olt_info=%@", @"test", @"renz"];
NSData *postData = [string dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestString]];
NSLog(@"\n request str : %@",request);
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"The responce:\n\n%@", responseData);
if (error == nil && response.statusCode == 200) {
NSLog(@"%li", (long)response.statusCode);
NSError *err;
id JSon = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&err];
if (err) {
NSLog(@"%@",err);
}
else {
NSLog(@"Json %@",JSon);
}
}
else {
//Error handling
NSLog(@"%@", response);
}
这是我试图读取的返回数据的格式:
new_token=509723045780uIRBWRBH24b
所以我知道下载的数据存储在名为“responseData”的 NSData 中。但是如果我使用 NSLog 打印它,我就会得到这个:
<61636365 73735f74 6f6b656e 3d313538 32353838 33343337 39343431 7c365f4d 6543436e 6b51716f 722d6e70 61746662 484d6458 526b3477>
那么我该如何阅读呢???
谢谢你抽出时间,丹。
最佳答案
使用 NSData 获取 NSString
NSString *decodedString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
也许这个字符串将具有有效的 JSON 格式。
关于ios - 解析 JSON 问题 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158669/