json到底是什么

96
DX初学者
2017.02.13 15:37* 字数 588
Paste_Image.png

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。在21世纪初,Douglas Crockford寻找一种简便的数据交换格式,能够在服务器之间交换数据。当时通用的数据交换语言是XML,但是Douglas Crockford觉得XML的生成和解析都太麻烦,所以他提出了一种简化格式,也就是Json。

json的格式和简单
1) 并列的数据之间用逗号(", ")分隔。
2) 映射用冒号(": ")表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号("{}")表示。
转载自 阮一峰《数据类型和Json格式》
举个例子“北京市的面积为16800平方公里,常住人口1600万人。上海市的面积为6400平方公里,常住人口1800万。”
写成json格式就是

[
  {"城市":"北京","面积":16800,"人口":1600},
  {"城市":"上海","面积":6400,"人口":1800}
]

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

object.gif

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
array.gif

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
value.gif

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
string.gif

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
number.gif

以上来自 JSON

JSON是设计成描述数据交换格式的,他也有自己的语法,这个语法是JavaScript的一个子集。

// 这是JSON字符串
var strJson= '{ "prop": "val" }';
// 这是对象字面量
var objJson = { "prop": "val" };

目前JSON有2个静态方法:JSON.parse用来将JSON字符串反序列化成对象,JSON.stringify用来将对象序列化成JSON字符串

// 这是JSON字符串
var strJson = '{ "prop": "val" }';
// 将字符串反序列化成对象
var objJson = JSON.parse(strJson);
// 将对象序列化成JSON字符串
var otherStrJson= JSON.stringify(objJson);
web前端日记
Web note ad 1