OGeek|极客世界-中国程序员成长平台

标题: ios - NSJSONSerialization 解析数据问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:26
标题: ios - NSJSONSerialization 解析数据问题

我正在解析以下数据:-

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-推荐答案


调用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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4