我正在解析以下数据:-
NSURL *URL = [NSURL URLWithString"http://maps.googleapis.com/maps/api/directions/json?origin=40.714353,-74.005973&destination=40.650000,-73.950000&sensor=false&units=metric&mode=transit&departure_time=1396594530&alternatives=true"];
NSData* data = [NSData dataWithContentsOfURL:URL];
NSDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
仅显示部分结果,未显示完整结果:
2014-04-04 15:24:10.036 Animation[478:907] {
routes = (
{
bounds = {
northeast = {
lat = "40.715478";
lng = "-73.94947789999999";
};
southwest = {
lat = "40.6497484";
lng = "-74.01035299999999";
};
};
copyrights = "Map data \U00a92014 Google";
legs = (
{
"arrival_time" = {
text = "03:35"; <<----- missing "am"
"time_zone" = "America/New_York";
value = 1396596948;
};
"departure_time" = {
text = "03:02";<<----- missing "am"
"time_zone" = "America/New_York";
value = 1396594936;
};`
当在模拟器上使用这个时,正确的结果来了,再次显示部分响应:-
{
"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 40.715478,
"lng" : -73.94947789999999
},
"southwest" : {
"lat" : 40.6497484,
"lng" : -74.01035299999999
}
},
"copyrights" : "Map data ©2014 Google",
"legs" : [
{
"arrival_time" : {
"text" : "3:35am", <<----- showing "am"
"time_zone" : "America/New_York",
"value" : 1396596948
},
"departure_time" : {
"text" : "3:02am",<<----- showing "am"
"time_zone" : "America/New_York",
"value" : 1396594936
}
同样的代码在模拟器上运行良好。
Best Answer-推荐答案 strong>
调用maps api时可以传递语言 。将语言设置为 en_US 会产生所需的结果:
NSURL *URL = [NSURL URLWithString"http://maps.googleapis.com/maps/api/directions/json?origin=40.714353,-74.005973&destination=40.650000,-73.950000&sensor=false&units=metric&mode=transit&departure_time=1396594530&alternatives=true&language=en_US"];
关于ios - NSJSONSerialization 解析数据问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22859634/
|