У меня есть база данных MySQL с таблицей широт и долгот с соответствующими данными. Я пытаюсь создать карту Google и хочу проанализировать строку JSON с помощью JavaScript. Я смотрел здесь и на YouTube, и я не знаю, как решить, что я делаю неправильно.Parse JSON массив с JavaScript
Вот моя JSON строка, я получаю с моим эхом заявления:
{"cm_mapTABLE":[["1","Angels Rest Photos OR","Angels_Rest_Photos_OR","663","aaj.jpg","2","Angel's Rest","Hike one of the trails in the Gorge with a scenic overlook, stream, and waterfall.","0","blue","4.5","45.5603","-122.171","http:\/\/www.eyehike.com\/pgallery\/index.php?\/category\/6","Angels_Rest_Photos_OR\/aae.thumb.jpg\" ALIGN=left HEIGHT=115 WIDTH=150>","http:\/\/www.eyehike.com\/pgallery\/i.php?\/galleries\/Angels_Rest_Photos_OR\/aaj-th.jpg","","","",""],["2","Ape Canyon Photos WA","Ape_Canyon_Photos_WA","681","PICT0114.jpg","3","Ape Canyon Trail","This trail is popular with hikers and mountain bikers with great views of several mountains.","0","blue","11","46.1653","-122.092","http:\/\/www.eyehike.com\/pgallery\/index.php?\/category\/8","Ape_Canyon_Photos_WA\/PICT0114.thumb.jpg\" ALIGN=left HEIGHT=115 WIDTH=150>","http:\/\/www.eyehike.com\/pgallery\/i.php?\/galleries\/Ape_Canyon_Photos_WA\/PICT0114-th.jpg","","","",""]]}
Вот мой код:
<!DOCTYPE html>
<head>
<?php
require("phpsqlsearch_dbinfo.php"); // This is the file with your logon info
//$host="localhost"; //replace with your hostname
//$username="root"; //replace with your username
//$password=""; //replace with your password
//$db_name="$database"; //replace with your database
$con=mysqli_connect("$hostname", "$username", "$password", "$database")or die("cannot connect");
//mysqli_select_db("$db_name")or die("cannot select DB");
$sql = "select * from location_markers WHERE mrk_id < 3"; //replace emp_info with your table name
$result = mysqli_query($con, $sql);
$json_string_data = array();
if(mysqli_num_rows($result)){
while($row=mysqli_fetch_row($result)){
$json_string_data['cm_mapTABLE'][]=$row;
}
}
mysqli_close($con);
// You have to give the json a name to make it accessible by JS, e.g.:
// echo 'file='.json_encode($json_string_data),';';
// This statement will echo the json output in the displayed web page
echo json_encode($json_string_data);
// please refer to our PHP JSON encode function tutorial for learning json_encode function in detail
?>
</head>
<body>
<script>
for (i = 0;i < $json_string_data.length;i++){
var javascript_string_data=<?php echo json_encode($json_string_data); ?>;
document.write(cm_mapTABLE.rank[i]);
}
</script>
</body>
</html>
Я использую Firebug и здесь ошибка:
ReferenceError: $json_string_data is not defined
for (i = 0;i < $json_string_data.length;i++){
Может кто-нибудь, пожалуйста, сообщите мне правильный способ сослаться на элементы в моей строке JSON? Нужно ли мне как-то получать имена полей в моей строке JSON?
уведомление: 'str_replace' удален путем редактирования, так как вы хотите, чтобы объект, а не строка, и код был изменен на' JSON.parse'. –
спасибо всем, я искал в Интернете для форматирования строки json и нашел сайт, на котором я могу вставлять свой вывод JSON и видеть его в формате, поэтому я буду использовать его для будущих сообщений. Я воспользуюсь сеансом JSON сегодня вечером. Я снова загрузил свою старую карту Google V2 на основе электронной таблицы Google, поэтому у меня есть передышка. – Steve
В моем последнем коде я использую для получения данных mysql. Я нашел пример, который использовал XML вместо JSON. – Steve