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 相关文章推荐
仅IE不支持setTimeout/setInterval函数的第三个以上参数
May 25 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
javascript格式化日期时间方法汇总
Jun 19 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
Vue-Router的使用方法
Sep 05 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
js实现蒙版效果
Jan 11 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
原生js二级联动效果
2017/06/20 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
python 域名分析工具实现代码
2009/07/15 Python
Python3 能振兴 Python的原因分析
2014/11/28 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
python中类的属性和方法介绍
2018/11/27 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
求职信:求职应该注意的问题
2019/04/24 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
Jsonp劫持学习
2021/04/01 PHP
利用python调用摄像头的实例分析
2021/06/07 Python
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js