您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> js中关于json的获取值引申出方括号和点号的疑惑

js中关于json的获取值引申出方括号和点号的疑惑

来源:网络整理     时间:2016/7/27 1:51:03     关键词:

关于网友提出的“ js中关于json的获取值引申出方括号和点号的疑惑”问题疑问,本网通过在网上对“ js中关于json的获取值引申出方括号和点号的疑惑”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: js中关于json的获取值引申出方括号和点号的疑惑
描述:

var obj={ "programmers": [ { "firstName": "Brett", "lastName":"McLain", "email": "aaaa" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },

  { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

  ],

  "authors": [

  { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

  { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

  { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }

  ]}
  

其中 obj.programmers[0].lastname 获取的就是“McLain”,那这样 obj[programmers][0][lastname]
这样全部改成方括号,可以吗? 那这样obj.programmers.0.lastname的话呢?有点晕了。。。按理来说第一种我更容易理解,比较方括号里面本来就是放下标号的,应该就是数字才对,然后点号对应key,但是我看有些人在方括号里放key,也可以?
还有就是我要修改value的话,上面三种方式也都可以吗?


解决方案1:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects

一个对象的属性名可以是任何有效的 JavaScript 字符串,,或者可以被转换为字符串的任何东西,包括空字符串。然而,一个属性的名称如果不是一个有效的 JavaScript 标识符(例如,一个有空格或短横线,或者以数字开头的属性名),就只能通过方括号标记访问。

可以的是 obj["programmers"][0]["lastName"]obj.programmers[0].lastName

obj.programmers.0.lastName 0不是一个有效的标识符 所以不可行


以上介绍了“ js中关于json的获取值引申出方括号和点号的疑惑”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2957710.html

相关图片

相关文章