1、打开vscode,创建一个测试页面JsonTesthtml,用于演示在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对象中的每个子对象属性都一样。所以,在得到序号之后,使用Objectkeys($json[i]); 就能获取到当前json子对象的属性集合。
6、如果想要获取到json对象的每个具体的列名和值,就需要再加一个for循环,遍历列名,得到列名和值。
还可以这样用吗? 如果按你这个写法,Input的value会是:常量字符串“${List[0]}”,这个字符串跟内存中的对象有什么关系呢?你要是说Value里是一个json串,你可以把它转换成一个对象,这还说得过去。Objectkeys()函数,可以把对象左边的所有key返回一个数组,如果只有一个key的话,0就是你这个一大串
举例Objectkeys({ '5c09f2b6aeb04b22f846096a': '' } )[0]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)