如何创建JSON响应

-3 php mysql android json google-maps

我正在使用Google Map v2开发一个Android应用程序,在服务器端我正在使用php和mysql数据库。在数据库中,已经存储了许多关于纬度和经度的位置坐标,所以我想要的是当用户打开应用程序时,backgroud服务通过服务器从数据库中获取所有这些纬度和经度并显示在地图上,但是我是卡在PHP端。假设这是我的数据库数据

+---------+---------+---------+--------+
|  uid    |  lat    | long    |  loc   |
+---------+---------+------- -+--------+
| 1       |Value1 A1|Value2 A1|    A   |
+---------+---------+---------+--------+
| 2       |Value1 B2|Value2 B2|    B   |
+---------+---------+---------+--------+
| 3       |Value1 C3|Value2 C3|    C   |
+---------+---------+---------+--------+
| 4       |Value1 D4|Value2 D4|    D   |
+---------+---------+---------+--------+
Run Code Online (Sandbox Code Playgroud)

此查询可以按行显示数据,$result = mysql_query("SELECT uid, lat, long, loc FROM table")但如何将数据按数组顺序存储,因此在json中编码时会生成类似的响应

    [
    {
    "uid": "1": [
            {
                "lat": "Value1_A1",
                "lon": "Value2_A1"
                "loc": "A"
            }

        ]
    },
    {
    "uid": "2": [
            {
                "lat": "Value1_B2",
                "lon": "Value2_B2"
                "loc": "B"
            }

        ]
    },
{
    "uid": "3": [
            {
                "lat": "Value1_C3",
                "lon": "Value2_C3"
                "loc": "C"
            }

        ]
    },
{
    "uid": "4": [
            {
                "lat": "Value1_D4",
                "lon": "Value2_D4"
                "loc": "D"
            }

        ]
    },
    and so on...............
]
Run Code Online (Sandbox Code Playgroud)

请帮帮我,因为我从过去两天开始寻求解决方案,但找不到任何合理的解决方案。

Har*_*ink 5

试试mysql_fetch_assoc:

$json = array();
while ($row = mysql_fetch_assoc($result)) {
    $json[$row['uid']] = array(
       'lat' => $row['lat'],
       'lon' => $row['lon'],
       'loc' => $row['loc']
    );
}
echo json_encode($json);
Run Code Online (Sandbox Code Playgroud)

您应该使用MySQLi或PDO_MySQL代替mysql_。