Json-数据交换语言
综览
JSON,javascript object notation是一种由道格拉斯·克罗克福特构想设计,轻量级的数据交换
语言,以文字为基础,易于让人阅读,
json是一个javascript的一个子集,但独立于语言的文本格式,采用了类似c语言家族的一些习惯

产生时间:1999年
发展过程
JSON格式是1999年《JavaScript Programming Language, Standard ECMA-262 3rd Edition》的子集合 可以在javascript以eval()函数读入(javascript通过eval()调用解释器) 几乎所有与网页开发相关的语言都有JSON库
存在格式
json用于描述数据结构,有以下形式存在 (1) object,对象:一个对象以“{”开始,并以“}”结束。一个对象包含一系列非排序的名称/值对,每个名称/值对之间使用“,”分区。 (2) collection,名称/值:名称和值之间使用“:”隔开,一般的形式是: {name:value},其中一个名称是一个字符串; 一个值可以是一个字符串,一个数值,一个对象,一个布尔值,一个有序列表,或者一个null值。 (3) 值的有序列表(Array):一个或者多个值用“,”分区后,使用“[”,“]”括起来就形成了这样的列表,形如: [collection, collection] (4) 字符串:以""括起来的一串字符。 (5) 数值:一系列0-9的数字组合,可以为负数或者小数。还可以用“e”或者“E”表示为指数形式。 (6) 布尔值:表示为true或者false。

运用
WEB开发 JSON最开始被广泛的应用于WEB应用的开发。不过目前JSON使用在JavaScript,Java,Node.js应用的状况比较多,PHP,C#等开发的WEB应用主要还是使用XML。 NoSQL数据库 相对于传统的关系型数据库,一些基于文档存储的NoSQL非关系型数据库选择JSON作为其数据存储格式,比较出名的产品有:MongoDB,CouchDB,RavenDB等。
安全性
读取JSON
由于json是javascript的子集,所以一般会使用eval()作为读取数据的方式,如果是针对可靠的数据来源,在不支持原生JSON解析的浏览器上面这是最快速的方法。然而由于eval方法同样可以执行任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全性问题。 其中一种防止不安全代码出现的解决办法,是通过浏览器原生支持的JSON.parse(str)方法读取JSON数据,目前已经得到大部分主流浏览器的支持(IE8+,Firefox 3.5+,Chrome4+/Safari4+,Opera10+),在不支持原生JSON对象的浏览器上面可以使用parseJSON方法进行读取,parseJSON 采用解析器验证读入的代码是否真的是JSON代码,这样就提供了较好的安全性。但由于这是用模拟的方式读取,速度上会比eval()慢
跨站访问问题
跨站请求伪造(Cross-site request forgery,简称CSRF或XSRF)。这个问题在Javascript中的状况是,由于Javascript采用了称为沙盒的机制,这种机制限制Javascript引擎仅能引入同一个站点的代码,因而某种程度上提高了安全性。
引用
维基百科