2014-11-13 2 views
0

Я получаю значения из базы данных в php и закодировал полученные значения в формате данных json.Как получить данные json в javascript

код 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 Как я могу получить эти значения в javascript?

+0

Посмотрите на: http://stackoverflow.com/questions/4935632/parse-json-in-javascript –

+0

Получите JSon, используя URL-адрес PHP и проанализируйте его http://stackoverflow.com/questions/9922101/get- json-data-from-external-url-and-display-it-in-a-div-as-plain-text – Amy

ответ

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> 
+0

Возможно, вы захотите немного изменить свой код, вы регистрируете свою широту после долготы, а по-другому – Geert

+0

@Geert ah cheers – MLeFevre

1

Разбираем ваш JSon закодированную строку в JavaScript:

var obj = jQuery.parseJSON('{ "name": "John" }'); 
alert(obj.name === "John"); 
0

Изменение:

echo json_encode($row) "\r\n"; 

To:

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) 

Таким образом, только те 2 поля будут идти по линии, что приводит к уменьшению Trafic и тем самым ускоряет загрузку.

Смежные вопросы