对JSON的理解
JSON语法:
JSON是一种结构化数据,它是一种数据格式
JSON可以概括为三种类型:简单值、对象、数组
注意:JSON不支持变量、函数和对象实例
一、JSON简单值
包括字符串、数值、布尔值、和null(json不支持js中的undefined)
例如:
5 ---------------------->json数值;
"hello" ---------------------->json字符串(json字符串必需使用双引号!);
布尔值和null也是有效的json形式,但实际中json更多的用来表示复杂的数据结构,简单值只是整个数据结构中的一部分。
二、JSON对象
本质上就是对象,但对象就是在本地用,json对象是用来传输的
先写一个js对象:
var person={
name:"tom",
age:3,
};
js对象的属性名可以为双引、单引或不加引号,属性值可以为js简单值,也可以为js复杂值
故也可以写成
var operson={
"name":"tom",
"age":4
} ;
json对象的表述方式如下:
{
"name":"tom",
"age":4
}
json对象的属性名必须为双引,属性名可以为json简单值,也可以为json复杂值
两者之间的区别:
(1)json对象的属性名任何时候都必须加双引号;但js对象的属性名可以为双引、单引或不加引号
(2)json对象没有末尾的分号
(3)json中没有变量的概念,即没有变量声明,即var obj={"name":"tom","age":4} 是一个js对象;{"name":"tom","age":4} 才是json对象形式
三、JSON数组采用的就是js的数组字面量形式
var arr = [25,"hello",true]; ------------->js数组
[25,"hello",true] ----------------------->json数组
一般把数组和对象结合起来来构成复杂的数据集合
注意:json数组中也没有变量和末尾的分号
JSON方法:
(1)JSON.stringify(); 把js对象序列化为json字符串
(2)JSON.parse(); 把json字符串解析为原生js值
如:var person = {name:"tom",age:23,skill:["singing","dancing"]};
var str = JSON.stringify(person); ------------> "{"name":"tom","age":23,"skill":["singing","dancing"]}"
var obj = JSON.parse(str); --------------------> {name:"tom",age:23,skill:["singing","dancing"]}
注意:json是用来传输的,传输过来的json对象和json数组,经变量接收后,就可以当成正常的js对象和js数组来使用,
json的序列化和解析方法使用在json字符串和原生js之间
对JSON的理解的更多相关文章
- JSON的理解
官方解释: JSON的全称是”JavaScript Object Notation”,单单从字面上的理解就是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式. 理解: ...
- 跨域获取json一些理解[腾讯电商数据的拉取方式]
如何跨域获取json数据源?我们都知道要有callback,具体callback是如何工作的呢?如果服务器端不接收callback,我们是不是就没有办法处理了呢?读完本文后相信你会有一个大体的了解. ...
- eval及json的理解
一,案例一 <br><br> 复制代码 var str = '{"name": "hanzichi", "age": ...
- 对package.json的理解和学习
一.初步理解 1. npm安装package.json时 直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中 ...
- 对json的理解?
回答一: a.JSON对象:以 ”{“ 开始,以 ”}” 结束,里面则是一系列的键(key)值(value)对,键和值用 ”:” 分开,每对键值对之间用 ”,” 分开.参考以下语法: {key1:va ...
- json再理解
一.Json的简单介绍 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第 ...
- JSON简单理解
JSON 与 JS 对象的关系 很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚.其实,可以这么理解: JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息 ...
- json的理解及读取
一: JSON 语法是 JavaScript 对象表示语法的子集,其语法规则如下: 数据在键值对中 数据由逗号分隔 花括号保存对象:{} 方括号保存数组:[] 如:[{"name" ...
- Json格式理解
json格式中共有三个重要符号"[","{",":" 中括号和花括号的唯一区别就是:中括号不需要key,花括号必须有key
- JSON数据理解
话说JSON数据平常用的确实挺多的,但是基本上只知道怎么用,对其一些细节并没有整理过,今儿趁着下午有点空,坐下来,学习整理下,并分享出来. 对于JSON,首先它只是一种数据格式,并非一种语言,虽然和j ...
随机推荐
- Ajax同时上传表单序列化参数+自定义参数
$.ajax({ type:'POST', url :"<{:U('jiuzhu/edit')}>", data:$.param({'name1':value1,'na ...
- Google Fonts导致网页加载速度慢
最近在做商城项目时候发现在加载一个html页面反应非常慢,查看发现是Google Font导致的网页加载速度缓慢,删除掉该样式会发现很多内容出错. 上网百度发现问题在于: 谷歌香港(google.co ...
- js获取浏览器上一访问页面URL地址,document.referrer方法
如题,可用document.referrer方法获取上一页面的url 但是也有不可使用的情况 直接在浏览器地址栏中输入地址: 使用location.reload()刷新(location.href或者 ...
- HTML&CSS笔记001
lesson1 <!DOCTYPE html><html lang="en,zh"><!-- 告诉搜索引擎爬虫,我们的网站是关于什么内容的 --> ...
- ESP8266 wifi干扰钓鱼实现
说明:绝大部分都是对着下面的参考文章来做的.这里只把基本流程和我自己遇到的问题写一下.如有其他问题可以访问文章末的参考文章进行查找! esp8266模块 我们需要购买一块esp8266模块,如下图所示 ...
- 【模板】RMQ(计算区间最值)
①一维RMQ (1) dp[i,j] 表示从第i个数起连续2j个数中的(最大值min.最小值max.最大公约数gcd……),通过更改下列代码中的红色函数即可实现. (2) b数组放置所需查询的数列. ...
- STL专题·vector容器
1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize (vector<int> a(10);) vecto ...
- MySQL的空值和NULL区别
从本质上区别: 1.空值不占空间 2.null值占空间 通俗的讲: 空值就像是一个真空转态杯子,什么都没有,而null值就是一个装满空气的杯子,虽然看起来都是一样的,但是有着本质的区别. ...
- centos7 使用指定邮箱发送邮件
一.安装sendmail与mail .安装sendmail: ) centos下可以安装命令:yum -y install sendmail ) 安装完后启动sendmail命令:service se ...
- mysql 几种搜索引擎的比较
mysql中常见的数据库引擎之间的比较 转载自 深入浅出mysql数据库 MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表. 若 ...