JSON获取属性值方法代码实例


Posted in Javascript onJune 30, 2020

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。

这些特性使JSON成为理想的数据交换语言。其属性值的获取有三种方法

1. 对象名.属性名, 类似于高级语言的写法

var obj = '{"name":"wisdo", "age":"20"}';
var data = eval('('+ obj +')');
alert(obj.name);

2. 以数组索引的方式来访问

var obj = '{"name":"wisdo", "age":"20"}';
var data = eval('('+ obj +')');
alert(obj[0]); // 输出的是 name

3. 以字典索引的方式来访问

var obj = '{"name":"wisdo", "age":"20"}';
var data = eval('('+ obj +')');
alert(obj['name']); // 输出的是 name 值

在通常的情况下,一般是使用第一种方法,即通过对象名.属性名 的方式来访问,这样对于使用高级语言的编程很直观,也很容易理解,但这也有局限性,属性的名称要规范,key 要以字母或下划线开头的包括字母、下划线和数字的字符串,不能以数字开头.

总结

data.key和data['key']各自有自己的应用场景,一般情况使用data.key即可,也比较直观(它符合其它高级语言中访问对象中属性的方式);当key为一个变量时,并且使用在循环中,用data['key']这种方式。

for(var i=0; i < 10; i++) {
s += data['key' + i]; //循环调用,可简化代码}

以数组索引的方式来访问,虽然不推荐,但也是有其应用价值的;如当建立一个与数据库中id一一对应的map对象的时候,可直接用id的数值做key,虽然你可以给它加上一个字母前缀来让它符合合法的变量名的标准并让它的数据能通过data.key的方式访问.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 文字符串转换unicode编码函数
May 30 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
Aug 28 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
jQuery循环滚动新闻列表示例代码
Jun 17 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 Javascript
JavaScript原型及原型链终极详解
Jan 04 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 Javascript
JS猜数字游戏实例讲解
Jun 30 #Javascript
vue实现评价星星功能
Jun 30 #Javascript
Json实现传值到后台代码实例
Jun 30 #Javascript
vue实现循环滚动列表
Jun 30 #Javascript
js实现简单音乐播放器
Jun 30 #Javascript
angular中的post请求处理示例详解
Jun 30 #Javascript
vue开发简单上传图片功能
Jun 30 #Javascript
You might like
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
PHP5.3新特性小结
2016/02/14 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
javascript中clone对象详解
2014/12/03 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
Python lxml模块安装教程
2015/06/02 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
J2EE面试题
2016/03/14 面试题
工作失误检讨书范文大全
2014/01/13 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
新店开张活动方案
2014/08/24 职场文书
付款委托书范本
2014/10/05 职场文书
2014年德育工作总结
2014/11/20 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android