[知了堂学习笔记]_JSON数据操作第1讲(初识JSON)
一、认识JSON
- 什么是JSON?
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
- JSON语法
{}表示JSON对象
在{}中是1~n个键值对
键与值之间用:隔开,键值对用,隔开。如:{key1:value2,key2:value2,key3,value3,…}
键的数据类型可以是基本数据类型和String
值的数据类型可以是基本数据类型,String,json对象{},JSON数组[{},{},{}]
对于不是数值的键于值要用””。如:{“name”:”张三”}
获取JSON中的值: JSON对象.key
二、在JS中使用JSON
- 普通的定义
<script>
var json={"name":"张三","age":17};//定义一个json对象并初始化
console.log(json);//输出该JSON对象全部值
console.log(json.name);//输出指定k_v
console.log(json.age);
</script>
运行结果:

- JSON数组
<script>
//定义一个JSON数组并初始化
var jsonArr = [{"name":"张三","age":17},{"name":"李四","age":18},{"name":"王五","age":38}]
console.log(jsonArr);
console.log(jsonArr[0].name);
console.log(jsonArr[1].name);
console.log(jsonArr[2].name);
</script>
运行结果:

当然json数组,也和其他数组用法是一样的
- JSON中存放一个JSON
//json数据中存放一个json数据
var jsono = {"json":{"name":"德玛西亚"}};
console.log(jsono);
console.log(jsono.json);
console.log(jsono.json.name);
运行结果:

- JSON中存放JSON数组
//json数据中存放一个json数组
var jsonAndArr = {"jsonarr":jsonArr}//前面的jsonArr变量,JSON数组
console.log(jsonAndArr);
console.log(jsonAndArr.jsonarr);
console.log(jsonAndArr.jsonarr[0].name);
console.log(jsonAndArr.jsonarr[1].name);
console.log(jsonAndArr.jsonarr[2].name);
运行结果:

其实再复杂的JSON数据也要遵守JSON数据的基本原理K--->V,要从复杂的JSON中去取数据,就想将洋葱一层一层剥开一样。我们要把复杂的JSON拆成一个个简单K-->V形式。
下一讲将为大家呈现JSON的解析与封装。
以上为今天的内容,如需了解更加深入的知识,请大家进入知了堂社区:http://www.zhiliaotang.com/portal.php;
[知了堂学习笔记]_JSON数据操作第1讲(初识JSON)的更多相关文章
- [知了堂学习笔记]_JSON数据操作第2讲(JSON的封装与解析)
上一讲为大家讲了什么是JSON,那么这一讲为大家带来了在WEB项目中JSON的用法,也就是JSON的封装与解析. 此图是数据库中的部分内容 一.JSON封装 所谓的JSON封装,指的是在Servlet ...
- 【知了堂学习笔记】java 自定义异常
java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCas ...
- [知了堂学习笔记]_ajax的两种使用方式
一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都 ...
- 【知了堂学习笔记】java 底层容易忽略的知识点
1. java中的关键字 提到关键字,最主要的就是不能用关键字作为标识符,值得注意的有以下几点. ①其中goto与const在java中没有定义,但是也是关键字.这个基本用不到,但是应该有个认知. ② ...
- 【知了堂学习笔记】java IO流归纳总结
皮皮潇最近学到了IO流但是感觉这一块要记的东西太多了,所以重API上查阅并总结了以下几点关于IO的知识. 1.File(文件类): File类是文件以及文件夹进行封装的对象,用对象的思想来操作文件和文 ...
- 【知了堂学习笔记】_String、StringBuffer与StringBuilder的区别
String Stringbuffer StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.S ...
- [知了堂学习笔记]_牵线Eclipse和Tomcat第二篇 —— 安装Tomcat&&添加Tomcat到Eclipse
来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-7 ...
- 【知了堂学习笔记】java 编写几种常见排序算法
排序的分类: 一.交换排序 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动. 1.冒泡 ...
- [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第3讲(逻辑方法的实现)
整体展示: 上一讲实现了诸多对象,这次我们就需要实现许多逻辑方法,如控制飞机移动,判断子弹击中敌机,敌机与英雄飞机相撞等等.并且我们在实现这些功能的时候需要计时器去调用这些方法.setInterval ...
随机推荐
- eclipse maven构建
run as --> maven install 1.No compiler is provided in this environment. Perhaps you are running o ...
- UglifyJS-- 对你的js做了什么
也不是闲着没事去看压缩代码,但今天调试自己代码的时候发现有点意思.因为是自己写的,虽然压缩了,格式化之后还是很好辨认.当然作为min的首要准则不是可读性,而是精简.那么它会尽量的缩短代码,尽量的保持一 ...
- (转)HTTP协议漫谈
HTTP协议漫谈 简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...
- CentOS 6 下无法wget https链接的解决方法
CentOS6下最高版本的wget是1.11,但非常遗憾的是这个版本有bug,是没办法用来下载https链接的东西的,所以有些人为了避免这种情况会帮脚本加上不检查ssl的参数--no-check-ce ...
- 阿里消息队列中间件 RocketMQ源码解析:Message发送&接收
- 【万能的搜索,用广搜来解决DP问题】ZZNU -2046 : 生化危机 / HDU 1260:Tickets
2046 : 生化危机 时间限制:1 Sec内存限制:128 MiB提交:19答案正确:8 题目描述 当致命的T病毒从Umbrella Corporation 逃出的时候,地球上大部分的人都死去了. ...
- RedHat Enterprise Linu…
RedHat Enterprise Linux 6.4 使用Centos 6 的yum 源问题 2015.04.09 一.问题描述 有时在使用RedHat 系统进行安装某些软件时,会出现如下提示: T ...
- iOS设置圆角的常用方法
//第一种方法:最常用的方法,但是性能最差 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第十节--AdminLTE模板菜单处理
上节我们把布局页,也有的临时的菜单,但是菜单不是应该动态加载的么?,所以我们这节来写菜单.首先我们看一下AdminLTE源码里面的菜单以及结构. <aside class="main- ...
- React Native 系列(五) -- 组件间传值
前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...