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 相关文章推荐
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
jQuery的三种$()
Dec 30 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
浅析JavaScript中的事件机制
Jun 04 Javascript
jquery实现右侧栏菜单选择操作
Mar 04 Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
Jul 22 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
Oct 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
自己做矿石收音机
2021/03/02 无线电
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
一些可能会用到的Node.js面试题
2019/06/15 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
基于python时间处理方法(详解)
2017/08/14 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python 统计字数的思路详解
2018/05/08 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
创业计划书怎样才能打动风投
2014/01/01 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
物理学专业自荐信
2014/06/11 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
z-index不起作用
2021/03/31 HTML / CSS
JavaScript 定时器详情
2021/11/11 Javascript
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers