簡體   English   中英

在javascript中迭代json

[英]iterating through json in javascript

我有一個迭代通過json我無法工作。

$.post('getdatafromdatabase.php', function(data) {
    var output="<ul> START ";

    for (var i in data.results) {
        output+="<li>" + data.results[i].id + " " + data.results[i].latitude + "--" + data.results[i].longitude+"</li>";
    }

    output+=" END </ul>" + data;
    document.getElementById("bounds").innerHTML += output;
});

“START”和“END”確實打印出來。 在“結束”之后我打印出的“數據”也有效,所以我知道我從數據庫中獲取數據,它看起來像這樣:

{"results":[{"id":"1","latitude":"47.49882200000000","longitude":"19.05680300000000"},     {"id":"2","latitude":"47.49273300000000","longitude":"19.03345700000000"},{"id":"3","latitude":"47.47765200000000","longitude":"18.98942600000000"},{"id":"4","latitude":"47.47266300000000","longitude":"18.81643700000000"}]}

有人可以幫我這個。 我花了很多時間在這上面,我無法弄清楚為什么我不能打印它。 謝謝。

采用

var data = $.parseJSON(data);

在開始循環閱讀之前。

使用.ajax而不是$.post

$.ajax({url:'getdatafromdatabase.php',
        type: "POST",
        data: { name: "John", location: "Boston" }}).done(function(data) {
    var output="<ul> START ";
    for (var i in data.results) {
        output+="<li>" + data.results[i].id + " " + data.results[i].latitude + "--" + data.results[i].longitude+"</li>";
    }
    output+=" END </ul>" + data;
    document.getElementById("bounds").innerHTML += output;
});

這種方式在javascript中迭代json:

for (var key in obj) {
  if (obj.hasOwnProperty(key)) {
    var val = obj[key];
    console.log(val);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM