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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
Javacript中自定义的map.js  的方法
Nov 26 Javascript
vue实现的双向数据绑定操作示例
Dec 04 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 Javascript
vue ssr服务端渲染(小白解惑)
Nov 10 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 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无限分类源码分享(思路不错)
2011/10/13 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
Prototype Class对象学习
2009/07/19 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
用Python配平化学方程式的方法
2019/07/20 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
台湾最大网路书店:博客来
2018/03/18 全球购物
高中自我鉴定范文
2013/11/03 职场文书
工作人员思想汇报
2014/01/09 职场文书
电工工作职责范本
2014/02/22 职场文书
2014年清明节寄语
2014/04/03 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
Django基础CBV装饰器和中间件
2022/03/22 Python
Python实现信息管理系统
2022/06/05 Python