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 相关文章推荐
JQuery 引发两次$(document.ready)事件
Jan 15 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
理解javascript回调函数
Dec 28 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
js使用swiper实现层叠轮播效果实例代码
Dec 12 Javascript
javascript中的数据类型检测方法详解
Aug 07 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 Javascript
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
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对文件进行加锁、解锁实例
2015/01/23 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
js 异步处理进度条
2010/04/01 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
python生成n个元素的全组合方法
2018/11/13 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python json读写方式和字典相互转化
2020/04/18 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
英语自荐信常用语句
2013/12/13 职场文书
大学生学习自我评价
2014/01/13 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
文明班级申报材料
2014/12/24 职场文书
业务员岗位职责范本
2015/04/03 职场文书
大学学生会竞选稿
2015/11/19 职场文书
创业计划书之美容店
2019/09/16 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
golang连接MySQl使用sqlx库
2022/04/14 Golang