我从php中获取数据库中的值,并将检索到的值编码为json数据格式。
php代码:
<?php
require_once('config.php');
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM theater';
mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo json_encode($row) "\r\n";
}
mysql_close($conn);
?>
输出:
{"id":"11","region":"Central","cord_latitude":"12.9237","cord_longitude":"77.5535"}
现在我只需要从json数据中获取一些值到javascript。 我只需要在javascript中使用cord_latitude和cord_longitude值 我怎样才能在javascript中获取这些值?
答案 0 :(得分:2)
您可以使用JSON.parse(),例如
<script type="text/javascript">
var json_data = '{"id":"11","region":"Central","cord_latitude":"12.9237","cord_longitude":"77.5535"}';
var parsed_data = JSON.parse(json_data);
console.log('long: ' + parsed_data.cord_longitude)
console.log('lat: ' + parsed_data.cord_latitude)
</script>
答案 1 :(得分:1)
在javascript中解析你的json编码字符串:
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );
答案 2 :(得分:0)
变化:
echo json_encode($row) "\r\n";
要:
echo json_encode(array("cord_latitude" => $row["cord_latitude"], "cord_longitude" => $row["cord_longitude"]));
然后使用JSON.parse();:
json = 'YOUR JSON STRING'
theater = JSON.parse(json);
console.log('Longitude: ' + theater.cord_longitude)
console.log('Latitude: ' + theater.cord_latitude)
这样只有那两个字段才会越线,从而减少交通,从而加快装载速度。