如何从Triptracker android应用程序接收php格式的JSON数据?

如何从Triptracker android应用程序接收php格式的JSON数据?,php,android,json,gps,location,Php,Android,Json,Gps,Location,该应用程序将gps位置发送到用户设置的php服务器。我有一个PHP MySQL模型服务器。我不知道如何接收从应用程序发送到服务器数据库的JSON。任何帮助都将不胜感激。提前谢谢。此代码位于 发布的参数是一个位置数组,每个元素都是一个散列,包括时间(来自位置服务的Unix时间戳)、纬度和经度(两个任意精度的浮点值)以及以米/秒为单位的速度 提前感谢。您可以使用json_decode()从收到的json中创建一个对象 例如: $data = json_decode($_POST['yourdata'

该应用程序将gps位置发送到用户设置的php服务器。我有一个PHP MySQL模型服务器。我不知道如何接收从应用程序发送到服务器数据库的JSON。任何帮助都将不胜感激。提前谢谢。此代码位于

发布的参数是一个位置数组,每个元素都是一个散列,包括时间(来自位置服务的Unix时间戳)、纬度和经度(两个任意精度的浮点值)以及以米/秒为单位的速度

提前感谢。

您可以使用json_decode()从收到的json中创建一个对象

例如:

$data = json_decode($_POST['yourdata']);
假设JSON看起来像这样:

{"foo":"bar"}
$lat = $_REQUEST['lat'];
$lng = $_REQUEST['lng'];
您现在可以执行以下操作:

echo $data->foo;

在mysql查询中使用此数据。

您可以在php中获得如下变量:

{"foo":"bar"}
$lat = $_REQUEST['lat'];
$lng = $_REQUEST['lng'];
然后可以在数据库中插入$lat和$lng

例如:

function launchQuery($call)
{
    $link = mysqli_init();
    if (!$link) {
        die('mysqli_init failed');
    }

    if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 1')) {
        die('Setting MYSQLI_INIT_COMMAND failed');
    }

    if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
        die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
    }

    if (!mysqli_real_connect($link, $dbhost, $dbuser, $dbpassword, $dbname, $dbport)) {
        die('Connect Error (' . mysqli_connect_errno() . ') '  . mysqli_connect_error());
    }       

    mysqli_query($link,"SET NAMES 'utf8'");
    $rs = mysqli_query($link, $call);

    mysqli_close($link);

    return $rs;
} 

launchQuery("insert into whatever_your_table_name_is (latitude, longitude) values (".$lat.",".$lng.");");

我花了一些时间来解码格式,但下面的代码片段正在从应用程序中提取数据。请注意,trip tracker可能会提交一组以前无法传输的位置点

<?php
$locations  = $_REQUEST['locations'];   // Get all POST arrays

i = 0;                                  // Choose first locations array

// Now you can access single fields with:
time      = $locations[i]['time']; 
latitude  = $locations[i]['latitude'];
longitude = $locations[i]['longitude'];
speed     = $locations[i]['speed'];

?>


请注意,“time”是从epoch开始的毫秒数,对于unix时间戳,我们需要除以1000得到一个浮点数,以允许转换。同样,可以有1个以上的位置阵列可用,通过在循环中计算i来访问其他阵列。

您能告诉我们数据是什么样的吗?在“阅读我”部分: