JavaScript-[讨论]javascript json取值的问题

小组聊天灌水 小组聊天灌水 主题:993 回复:2175

JavaScript-[讨论]javascript json取值的问题

清晨说ぺ晚安 发布于 2017-06-02 字数 384 浏览 1183 回复 1
//在Javascript中,可以利用JSON格式来定义对象,比如
var obj2 = {1: "重启", 2: "关机",3: "开机",'4':'44',",":"奇怪的Javascript!"};
alert(obj2[2]); // 这句会正常执行
//alert(obj2.2); // 这句会报错
//alert(obj2[","]);//也能正常执行
//我们可以看到,对象名虽然有[_$a-zA-Z][_$a-zA-Z0-9]*的限制,但对于此obj[2],可以正常输出,

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

归属感 2017-09-20 1 楼

json的key一般应使用合法的变量名(字母或下划线开头的包括字母、下划线和数字的字符串),json对象的两种访问方式:data.key和data[’key’],一般情况使用data.key。

变量名做key 的方式

var jsonData = '{"a":"1", "b":"2"}';
var data = eval('('+ json +')');
alert(data.a);
alert(data['a']);

数字做key的方式

 var jsonData = '{"0":"a", "1":"b", "length":2}';
var data = eval('(' + json + ')');
//alert(data.0); //报错,此方式不可用
alert(data['0']);
alert(data[0]); //注意此写法与数组用下标访问是相同的

用数字做key有时候也很方便直接,比如当建立一个与数据库中id一一对应的map对象的时候, 可直接用id的数值做key 。这样你前段只能用data[’key’]方式来获取