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 DOM 操作实现代码
Aug 01 Javascript
setTimeout和setInterval的深入理解
Nov 08 Javascript
javascript原型链继承用法实例分析
Jan 28 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
Sep 24 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
VSCode搭建Vue项目的方法
Apr 30 Javascript
原生JavaScript创建不可变对象的方法简单示例
May 07 Javascript
jQuery实现滑动开关效果
Aug 02 jQuery
JavaScript函数柯里化
Nov 07 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函数mkdir实现递归创建层级目录
2016/10/27 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
新手入门常用代码集锦
2007/01/11 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
暑假实习求职信范文
2013/09/22 职场文书
毕业设计计划书
2014/01/09 职场文书
八年级历史教学反思
2014/01/10 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
生活小常识广播稿
2014/09/16 职场文书
初中英语教学随笔
2015/08/15 职场文书
银行培训心得体会范文
2016/01/09 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸
Golang 遍历二叉树
2022/04/19 Golang