dtc99987 2016-05-05 03:23
浏览 549
已采纳

如何在没有双引号的情况下回显json数据值

I am created a web service and it returns json data as follows. [{"lat":"6.8658","lng":"79.8744"}]

But I actually need like following. [{"lat":6.8658,"lng":79.8744}]

My php code is as follows

$location_data= $this->db->query("SELECT lat,lng FROM jobs WHERE job_code='JO34656'")->result_array();

echo json_encode($location_data);
  • 写回答

4条回答 默认 最新

  • drfm55597 2016-05-05 03:27
    关注

    Just cast all elements into floatval:

    $location_data = $this->db->query("SELECT lat,lng FROM jobs WHERE job_code='JO34656'")->result_array();
    $data = json_encode(array_map(function($e){
        return array_map('floatval', $e);
    }, $location_data));
    

    Or just pick whichever column you want casted:

    $location_data = json_encode(array_map(function($e){
        foreach($e as $key => &$loc) {
            if(in_array($key, array('lat', 'lng'))) {
                $loc = floatval($loc);
            }
        }
        return $e;
    }, $location_data));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料