对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 ...
随机推荐
- C# Windows服务的安装和卸载批处理
@ECHO "请按任意键开始安装后台服务. . ."@ECHO "清理原有服务项. . ."%SystemRoot%\Microsoft.NET\Framewo ...
- es6之函数扩展与对象扩展
一.函数扩展 1.参数默认值 参数有默认值,后面不可以再加没有默认值的变量.如以下test函数中,不可以加写成 function test(x,y="word",z){ } fun ...
- iOS之序列化与反序列化
所谓的序列化和反序列化就是将数据结构或对象和二进制串之间相互转换的过程: 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘 ...
- Java中线程同步的理解
我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread). 线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可能和其他线程共享一些资源, ...
- Java 分支结构
Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java 有两种分支结构: if 语句 switch 语句 if 语句 一个 i ...
- 【Java】使用Atomic变量实现锁
Atomic原子操作 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类 Java从JDK1.5开始提供了java.uti ...
- Vue.js与 ASP.NET Core 服务端渲染功能整合
http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihály Gyöngyösi 译者:oop ...
- 【2018 ICPC亚洲区域赛徐州站 A】Rikka with Minimum Spanning Trees(求最小生成树个数与总权值的乘积)
Hello everyone! I am your old friend Rikka. Welcome to Xuzhou. This is the first problem, which is a ...
- netstat命令的用法
netstat用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.利用netstat指令可让你得知整个Linux系统的网络情况.参数:-a或–all 显示 ...
- STL专题·vector容器
1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize (vector<int> a(10);) vecto ...