对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 ...
随机推荐
- rc.local 开机自启脚本无法启动
1.看是否rc.local 第一行如果是 #!/bin/sh -e 改成 #!/bin/bash sudo systemctl enable rc-local.service 2.看rc.local的 ...
- Java获取虚拟机内存和操作系统内存及其线程
为什么要获取虚拟机内存和操作系统内存呢? 虚拟机内存,这里主要指JVM.为了防止有的时候因为JVM内存问题导致服务器宕机,所以有必要监控JVM的内存.当达到一定值时,通过邮件及时通知,防止线上宕机造成 ...
- TensorFlow创建简单的图片分类系统--机器学习
TensorFlow 参考链接 http://www.wolfib.com/Image-Recognition-Intro-Part-1/ 环境要求 linux amd64(必须是64位处理器)pyt ...
- IOS开发数据存储篇—IOS中的几种数据存储方式
IOS开发数据存储篇—IOS中的几种数据存储方式 发表于2016/4/5 21:02:09 421人阅读 分类: 数据存储 在项目开发当中,我们经常会对一些数据进行本地缓存处理.离线缓存的数据一般都 ...
- qt+vs2005新建配置不自动加载Generated Files进工程(个人备份)
工程右键Qt Project Settings 的Moc Directory路径删除 确定,再进入将删除路径加上
- 大数据框架-Zookeeper
Hadoop的分布式协同服务,让分布式系统碰到失败时候,能够正确处理此类问题.基础功能:master选举,数据同步.Zooleeper集群有Client和Server(leader和follower) ...
- Oracle记录类型(record)和%rowtype
Oracle中的记录类型(record)和使用%rowtype定义的数据类型都是一种单行多列的数据结构,可以理解为一个具有多个属性的对象.其中属性名即为列名. 记录类型(record) 记录类型是一种 ...
- Swift_TableView(delegate,dataSource,prefetchDataSource 详解)
Swift_TableView(delegate,dataSource,prefetchDataSource 详解) GitHub import UIKit let identifier = &quo ...
- optimize table 删除空洞--MYSQL
来看看手册中关于 OPTIMIZE 的描述: OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... 如果您已经删除 ...
- mysql 支持四字节设置
设置文件mysql/bin/my.ini[mac用户在ect文件夹里创建文件my.cnf] 添加以下代码: [mysqld] character-set-server=utf8mb4