js怎么获取json中的多个对象?

JavaScript06

js怎么获取json中的多个对象?,第1张

var str = {"code":0,"data":[{"uid":"689791","username":"vaghyuzhihao","orgid":"627","status":"1","subname":"yuzhihao","roleids":"1","orgcode":"600251","name":"yuzhihao","mapid":"0","passwd":"","siteid":"0","createorgcode":"600251","alarmview":"0"}]}

var json = eval(str)

console.log(json.data[0].uid)

一般返回的都是字符串,需要对其对象化。

json中取出对象的属性值步骤如下:

1、打开vscode,创建一个测试页面JsonTest.html,用于演示在js中如何获取json对象的属性集合。

2、在测试页面中,定义一个js变量,将其赋值为json格式的字符串,用于模拟从后台返回过来的json字符串值,以及后续转换为json对象,和获取其属性集合。var json = "[{\"Col1\": \"Hello\", \"Col2\": \"World\"}, {\"Col1\": \"您好\", \"Col2\": \"世界\"}]"。

3、使用js的eval函数,将json字符串的变量值,转换为json对象。var $json = eval("(" + json + ")")

4、得到json对象之后,使用for-in循环语句,得到json对象的序号,也就是,这个json对象中,还有多少个子对象。

5、因为js是弱类型的语言,并不要求json对象中的每个子对象属性都一样。所以,在得到序号之后,使用Object.keys($json[i])就能获取到当前json子对象的属性集合。

6、如果想要获取到json对象的每个具体的列名和值,就需要再加一个for循环,遍历列名,得到列名和值。