ajax中如何把传递过来的json数据循环遍历出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax中如何把传递过来的json数据循环遍历出相关的知识,希望对你有一定的参考价值。

先把传递过来的字符串转换成对象,再按照一般思路遍历就可以了。

var jsonObj = eval("("+xmlHttp.responseText+")");//转换为对象
for(var i=0;i<jsonObj.length;i++)...

对象里面有啥属性,按照后台的操作正常取出来就可以了。假如对象jsonObj 
里面含有后台的Person对象(并且含有属性:private String name;),遍历的时候获取name的话,可以 

for(var i=0;i<jsonObj.length;i++)
    var personName = jsonObj[i].name;

稍微提示下,希望有所助!

参考技术A 遍历json就用 for in,如果子属性是对象,继续遍历

js如何使用for循环往json添加数据?

例:var arr [name:a:,num:1,name:b,num:1,name:c,num:1,name:d,num:1,name:e,num:1,name:f,num:1],
遍历上面这串数组,并往一个新的json赋值
for(var i= 0;i<arr.length;i++)
json[arr[i].name] = arr[i].num

因为json没有push和add的方法, "="会把上一条给覆盖掉
怎样才能做出数组push的那种效果呢

=并不会把上一条覆盖,因为arr[i].name并不一样,相当于给json动态添加不同的属性。结果如下

当然,如果你数组中的那么如果会一样的话,那么就会被覆盖掉。如果是想要往一个新的对象上加,当作它的属性,那么属性名肯定是唯一的。如果你只是单纯的先把数组变成json串的话,可以使用JSON.stringify();,如下

追问

哦,我知道了我的问题出在哪里了,那我问一下
比如 var i = 'name'
json['i'] = '111' json = name:111
那么如何在 json[i] 里添加新元素, 要做成 json = name:name:111 这种效果
json[i][i]并不好用

参考技术A 原型链添加。
Object.prototype.add = function()
这里是你写的add相关方法。

push同理。
参考技术B 没看懂你的问题是什么? 参考技术C 没看懂你要实现啥

以上是关于ajax中如何把传递过来的json数据循环遍历出的主要内容,如果未能解决你的问题,请参考以下文章

后台怎么获取ajax传递过来的json数组

ajax 如何接受flask 传送的数组对象?

循环遍历 JSON 数组

使用ajax将它们作为json后如何循环遍历django表单错误

AJAX如何解析后台传来的json数据?

我想问一下如何获取ajax传过来的数据,比如在.cs或者在jsp页面获取ajax传过来的数据,然后写入数据库。