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对象? 实 ...
随机推荐
- 将datatable导出为excel的三种方式(转)
一.使用Microsoft.Office.Interop.Excel.DLL 需要安装Office 代码如下: 2 public static bool ExportExcel(Sy ...
- js 之面向对象
对象 是什么? 对象就是一个整体,对外提供一些操作,比如:电视机(不用知道内部的构造,只知道怎么用) 面向对象 是什么? 使用对象时,只关注对象提供的功能,不关心内部细节,比如:操作电视机(只知道用遥 ...
- 形态学函数cvMorphologyEx
OpenCV提供了通用的形态学函数cvMorphologyEx,该函数能够实现开运算,闭运算,形态梯度,礼帽操作,黑帽操作 接口形式 编辑 void cvMorphologyEx(const CvAr ...
- LCIS最长公共上升子序列
最长公共上升子序列LCIS,如字面意思,就是在对于两个数列A和B的最长的单调递增的公共子序列. 这道题目是LCS和LIS的综合. 在LIS中,我们通过两重循环枚举当序列以当前位置为结尾时,A序列中当前 ...
- 洛谷——P1327 数列排序
P1327 数列排序 题目描述 给定一个数列{an},这个数列满足ai≠aj(i≠j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? 输入输出格式 输入格式: ...
- sed replace HEX sequence in your binary file:
Here is how to replace a HEX sequence in your binary file: $ sed 's/\x0D\x4D\x53\x48/\x0D\x0A\x4D\x5 ...
- c++基础学习之函数与参数
1.传值参数 //传值参数 int Abc(int a,int b,int c) { ; } a,b和c是函数Abc 的形式参数formal parameter,类型均为整型.如果在如下语句中调用函数 ...
- 【暴力】vijos P1897 学姐吃牛排
判断堆:递归判断每个节点的孩子是否都比其父亲大(小). 判断BST:中序遍历是否有序. #include<cstdio> using namespace std; #define lc ( ...
- Java如何实现系统监控、系统信息收集(转
Java如何实现系统监控.系统信息收集.sigar开源API的学习 系统监控(1) Jar资源下载:http://download.csdn.net/detail/yixiaoping/4903853 ...
- mysql获取分类数量
1.sql <select id="getTypeNum" resultType="TypeNum" > select count(*) as al ...