繁体   English   中英

使用PHP在JSON数组中编码JSON对象

[英]Encode JSON objects in JSON array using PHP

我正在尝试在JSON数组中的JSON对象中编码2个名称/值对。 目前,我能够对名称/值对进行编码,但每个都作为数组中的单独对象进入。

这是我的代码:

    if ($tag == "getLatLng")
    {
        $lineNumber = $_GET['lineNumber'];
        $coordinates = $db->getCoOrds($lineNumber);

        if ($coordinates != false)
        {
            //Get data and set success = 1
            $response["success"] = 1;
            $response['coordinates'] = array();

            $arrayLength = count($coordinates);

            foreach ($coordinates as $value)
            //for ($i=0; $i<$arrayLength+1; $i++)
            {
                //echo $i;
            $response["coordinates"][]['latitude'] = $value[0];
            $response["coordinates"][]['longitude'] = $value[1];
            //$response["coordinates"][]['longitude'] = $coordinates[$i];
            }
            echo json_encode($response);
        }

这是一个示例输出:

    {"success":1,"error":0,"coordinates":[{"latitude":"00.000000"},{"longitude":"-00.000000"},{"latitude":"00.000000"},{"longitude":"-00.000000"},{"latitude":"00.000000"},{"longitude":"-00.000000"}]}

但我需要这个:

    {"success":1,"error":0,"coordinates":[{"latitude":"00.000000","longitude":"-00.000000"},{"latitude":"00.000000","longitude":"-00.000000"},{"latitude":"00.000000","longitude":"-00.000000"}]}

谢谢你的帮助!

尝试这个

 $i=0;
foreach ($coordinates as $value)
        //for ($i=0; $i<$arrayLength+1; $i++)
        {

        $response["coordinates"][$i]['latitude'] = $value[0];
        $response["coordinates"][$i]['longitude'] = $value[1];
        $i++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM