{
"tripRoute": [{
"lng": 78.92939102,
"lat": 22.0533782
}, {
"lng": 78.92939102,
"lat": 22.0533782
}],
"bookingId": 195
}
这个字符串格式的json obj我从android发送到php服务器。在PHP服务器字符串正确打印。但当我试图得到" lng" " bookingId" from String是show null值。这是我的PHP代码。
//错误" **行"
<?php
include('db_connection.php');
$json= $_REQUEST['tripRoute'];
$array = json_decode($json,true);
** $data = $array['tripRoute'][0]['lng']; // showing Null
** $flag['TripPathcode']= $array['bookingId']; // showing null
print(json_encode($flag));
?>
还有一个问题 - 请参阅json字符串 - &#34; lng&#34;:78.9293102,&#34; lat&#34;:22.0533。 那里的数字是78.9293和22.0533之间的数字是&#34; &#34 ;.我看到其他字符串有整数和双值也介于&#34; &#34 ;.这会产生一些问题吗?
答案 0 :(得分:1)
您需要使用json_decode()
将JSON字符串转换为本机PHP数据类型。
默认情况下,您的数据将转换为stdClass对象而不是数组,除非您使用json_decode($string, TRUE);
的第二个参数,但不需要将完美的对象转换为数组。
<?php
$js = '{
"tripRoute": [{
"lng": 78.92939102,
"lat": 22.0533782
}, {
"lng": 78.92939102,
"lat": 22.0533782
}],
"bookingId": 195
}';
$obj = json_decode($js);
print_r($obj);
echo $obj->tripRoute[0]->lng;
echo $obj->bookingId;
答案 1 :(得分:1)
我得到了解决方案.. 我的json打印像这样 - {\\&#34; \\ abc&#34;:\ [{&#34; sdf&#34;:.......}] }
所以我用 $ json = stripslashes($ _ REQUEST [&#39; tripRoute&#39;]);
这解决了我的问题。谢谢你的回复。