对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 ...
随机推荐
- [改错_19/04/01] 学习Java.IO 对象数据流时出现 Exception in thread "main" java.io.EOFException ...at cn.sxt.test.Test_DataStream.main(Test_DataStream.java:31) 错误 .
过程描述:编译可以通过,就是每次运行时出现如下的图片,百思不得其解. 错误原因: byte[] datas=baos.toByteArray(); 放在了oos.writeInt(14);oos.fl ...
- Etherlab debian安装记录
debian wheezy 7.11(虚拟机安装选择桥接网卡) #set ustc source #apt-get install sudo #nano /etc/sudoers;add userNa ...
- Code First 二 DataAnnotation 数据注解
Code-First中配置域类 我们在前一节学习了默认的代码优先约定.Code-First使用默认约定从您的域类构建概念模型.Code-First利用称为约定而不是配置的编程模式.这意味着您可以通过配 ...
- Java之变量
Java变量分为类变量.实例变量.局部变量: 类变量包括静态变量: 局部变量:就是本地变量,使用范围:方法,构造器(构造方法),块:销毁:程序执行完或退出立即销毁:局部变量没有默认值,声明的同时必须赋 ...
- 『ACM C++』HDU杭电OJ | 1418 - 抱歉 (拓扑学:多面体欧拉定理引申)
呕,大一下学期的第一周结束啦,一周过的挺快也挺多出乎意料的事情的~ 随之而来各种各样的任务也来了,嘛毕竟是大学嘛,有点上进心的人多多少少都会接到不少任务的,忙也正常啦~端正心态 开心面对就好啦~ 今天 ...
- Qt5连接Mysql环境配置
已安装的环境:Mysql5.7 64bit ,Qt5.12 64bit. 到mysql官方下载mysql5.7 64bit的压缩包,解压,复制下图框内四个文件. 将四个文件复制到Qt安装目录下bin目 ...
- mount/umount命令
挂载及卸载指定的文件系统 mount [选项] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [挂载点] umount [挂载点] -a ...
- [MYSQL][1]创建,修改,删除表
查看有哪些数据库: SHOW DATABASES; 创建,删除数据库: CREATE DATAABASE mydb; DROP DATABASE mydb; 查看有哪些表: SHOW TABLES; ...
- 【读书笔记 - Effective Java】05. 避免创建不必要的对象
1. 如果对象是不可变的(immutable),它就始终可以被重用. (1) 特别是String类型的对象. String str1 = new String("str"); // ...
- js实现99乘法表的编写(双层for循环与递归方法)
双层for循环实现方法: function nine (num) { ; i <= num; i++){ var str = ''; ; k <= num; k++){ if(i > ...