Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中迭代json_Javascript_Json_Iteration - Fatal编程技术网

在javascript中迭代json

在javascript中迭代json,javascript,json,iteration,Javascript,Json,Iteration,我有一个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].l

我有一个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;
});
谁能帮我一下吗。我花了很多时间在这上面,我不明白为什么我不能把它打印出来。谢谢。

使用

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;
});
$.ajax({url:'getdatafromdatabase.php',
类型:“POST”,
数据:{name:“John”,location:“Boston”}).done(函数(数据){
var output=“
    START”; for(data.results中的var i){ 输出+=“
  • ”+数据.results[i].id+”“+数据.results[i].纬度+“-”+数据.results[i].经度+“
  • ”; } 输出+=“结束”
“+数据; document.getElementById(“bounds”).innerHTML+=输出; });
在javascript中迭代json的这种方式:

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

您不会“迭代json”。JSON是javascript结构的文本表示——它只是一个字符串。通过一个结构进行交互,这就是json解码后的状态。e、 g.像在函数中查看javascript.alert data.results中的任何其他数组/对象一样,检查它是否显示文本或[object]。很抱歉使用了错误的表达式。那么,如何循环json字符串以使其打印出来呢。我查看了无数次我的代码,没有发现问题。可能是您需要使用$.getJSON而不是$.post(),我添加了alert(data.results);对于函数,它说“undefined”,您好,谢谢。这是可行的,但问题是我需要将数据发布到服务器,并且必须使用post方法。这看起来很棒。谢谢,谢谢。这解决了我的问题。你能解释一下为什么我需要解析json数据吗?原因是它是一个字符串,就像marc的注释一样。在解析它之前,必须先将它转换为JSON结构。
for (var key in obj) {
  if (obj.hasOwnProperty(key)) {
    var val = obj[key];
    console.log(val);
  }
}