如何在javascript中获取json数据

时间:2014-11-13 10:14:42

标签: javascript php json

我从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中获取这些值?

3 个答案:

答案 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)

这样只有那两个字段才会越线,从而减少交通,从而加快装载速度。