JSON基本概念及使用
JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。
1. JSON数据基本类型
JSON实际上是JavaScript的一个子集。在JSON中,一共就这么几种数据类型:
number:和JavaScript的
number完全一致;boolean:就是JavaScript的
true或false;string:就是JavaScript的
string;null:就是JavaScript的
null;array:就是JavaScript的
Array表示方式——[];object:就是JavaScript的
{ ... }表示方式。
以及上面的任意组合。
并且,JSON还定死了字符集必须是UTF-8,表示多语言就没有问题了。为了统一解析,JSON的字符串规定必须用双引号"",Object的键也必须用双引号""。
2. JSON数据结构
JSON结构共有2种:
(1)对象结构;
(2)数组结构;
  2.1、对象结构
对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。
  语法:
var jsonObj =
{
"键名1":值1,
"键名2":值2,
……
"键名n":值n
}
说明:
jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
 2.2、JSON数组结构
JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。
  语法:
var arr =
[
{
"键名1":值1,
"键名2":值2
},
{
"键名3":值3,
"键名4":值4
},
……
]
说明:
arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象。而且语法都非常类似。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
综合示例:
{
    "name":"臧小峰",
    "age":22,
    "birthday":"1999-11-22",
    "school":"Qinghua University",
    "major":["sing","coding"],
    "girlfriend":true,
    "car":null,
    "friend":{
        "name":"臧大峰",
        "age":22,
        "birthday":"1999-11-22",
        "school":"Beijing University",
    },
    "comment":"JSON里不能直接使用注释,需要添加时可通过此方式。。"
 }
JSON有两种数据:1.无序的对象结构;2.有序的数组结构
1.无序的对象结构
 无序的对象结构在不同语言中称法不同,比如在Python中称为字典,在JS中称为JSON对象……
 总之就是键/值对组合形式。
2.有序的数组结构
 将数组作为有序数组进行转换JSON,就可以得到有序的JSON数组结构。
JSON基本概念及使用的更多相关文章
- json的概念,语法规则,数组,物件结构
		
主要说一些关于json的简单应用 ㈠概念 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式. 它基于 ECMAScript (欧洲计算机协 ...
 - JSON and Microsoft Technologies(翻译)
		
本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实 ...
 - RapidJson读取json文档
		
Json格式定义如下 Object: { _Name:_Data,... } 最后一项后面没有逗号 Array: [_Data,_Data,...] 最后一项后面没有逗号 _Name: String ...
 - json在项目中的应用大总结
		
一.摘要 刚开始接触json的时候,那时候还不太清楚json到底是个什么东西,然后就在项目中使用了它.因为没有搞明白json的本质,所以刚开始使用json的时候走了不少弯路.这次总结一些json的知识 ...
 - 使用js把json字符串转为js对象的方法
		
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐怕 ...
 - 三、jQuery--Ajax基础--Ajax全接触--JSON
		
JSON基本概念 JSON:JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法,类似XML.它采用键值对的方式来组织,易于人们阅 ...
 - 处理 JSON null 和空数组及对象
		
描述了对 JSON 数据中使用的 null 和空数组及对象的处理. JSON 数据具有 null 和空数组及对象的概念.此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念. Null ...
 - Ajax+JSON学习笔记(二)
		
来源:http://www.imooc.com/learn/250 readyState属性 0:请求未初始化,open还没有调用 1:服务器连接已建立,open已经调用了 2:请求已接受,也就是接收 ...
 - [转]JSON and Microsoft Technologies(翻译)
		
本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实 ...
 
随机推荐
- 使用navicat修改Mysql默认密码
			
本质就是修改数据库mysql里面的数据表user一个字段,并执行如下一句mysql语句: UPDATE user SET password=PASSWORD('密码') WHERE user='roo ...
 - magento smtp设置
			
我安装的版本是ASchroder_SMTPPro-2.0.6.tgz 然后测试 但是没成功,会有报错,报错: 提示没有默认模板,原因是该插件没有带模板,所有会有这样的提示.
 - Retrying Operations using Spring's RetryTemplate
			
If your application is using Spring then it is easier to use the Spring Framework's RetryTemplate. T ...
 - 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束)
			
layout: post title: 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束) author: "luowentaoaa" catal ...
 - 11、Django实战第11天:templates模板继承
			
Django模板的继承,它首先定义一个整体的框架(父类),然后动态的部分(子类)只需要重写自己本身的代码就可以了. 1.在templates目录下创建base.html 2.把org-list.htm ...
 - ASP.NET Core 2.2 基础知识(十二) 发送 HTTP 请求
			
可以注册 IHttpClientFactory 并将其用于配置和创建应用中的 HttpClient 实例. 这能带来以下好处: 提供一个中心位置,用于命名和配置逻辑 HttpClient 实例. 例如 ...
 - 【矩阵乘法】【快速幂】【递推】斐波那契数列&&矩乘优化递推模板
			
题目大意: F[0]=0 F[1]=1 F[n+2]=F[n+1]+F[n] 求F[n] mod 104. F[n+2] F[n+1] = 1 1 1 0 * F[n+1] F[n] 记这个矩阵为A, ...
 - 【动态规划】【最短路】【spfa】bzoj1207 [HNOI2004]打鼹鼠
			
<法一>若打了一只鼹鼠后,还能打另一只,我们可以在它们之间连权值为1的边.于是答案就是 以m为终点的最长路长度+1.建反图,就是单源最长路. MLE TLE 一时爽. #include&l ...
 - 【kruscal】【最小生成树】【并查集扩展】bzoj3714 [PA2014]Kuglarz
			
ORZ:http://www.cnblogs.com/zrts/p/bzoj3714.html #include<cstdio> #include<algorithm> usi ...
 - Problem H: 零起点学算法28——参加程序设计竞赛
			
#include<stdio.h> int main() { int a,b; while(scanf("%d %d",&a,&b)!=EOF) ||b ...