我有这段代码调用网络服务来检索给定地址的坐标:
NSLog(@"\ndata:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
NSError* error;
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
if (error != nil) {
NSLog(@"\nerror:%@", error);
}
当我进行 2 或 3 次调用时,其中一些出现错误 != nil,因为字符串未满。
例如,如果我第三次或随机调用“Ads”(http://maps.google.com/maps/api/geocode/json?address=ads),我会得到这个字符串:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Addison Airport",
"short_name" : "Addison Airport",
"types" : [ "establishment" ]
},
{
"long_name" : "220",
"short_name" : "220",
"types" : [ "subpremise" ]
},
{
"long_name" : "16051",
"short_name" : "16051",
"types" : [ "street_number" ]
},
{
"long_name" : "Addison Road",
"short_name" : "Addison Rd",
"types" : [ "route" ]
},
{
"long_name" : "Addison",
"short_name" : "Addison",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Dallas County",
"short_name" : "Dallas County",
所以我的解析器不工作。
我重复一遍,这是随机的,我必须多次执行代码才能重现它。
我做错了什么?
提前谢谢你。
最佳答案
我认为您忘记收集整个响应的所有数据片段并将它们一起传递到一个 NSData 对象中。这只是完整响应的一部分。也许这个post可以帮助你。
关于ios - iOS 上的 Http 请求。没有获得完整的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637182/