首页 > 代码库 > 初识json------Day60

初识json------Day60

感觉json在当前的应用还蛮多的,前几天简单用了几次,今天竟然有朋友问我,当我给他回答出来的时候有些好笑也有些满足吧,怕明天再被问到相关的问题啊,就抓紧补下,免得同样不会再出糗,朋友心目中的高大形象啊....


1、json是什么?

全称为:JavaScript Object Notation

功能为:轻量级的数据交换格式

本质为:基于javascript的一个子集

特点为:完全独立于语言的文本格式,却有类似于C语言家族的习惯

2、json的出现背景

21世纪初,Douglas Crockford找寻一种简便的数据交换格式,能够在服务器之间交换数据。

当时的通用数据交换语言是XML

json的出现解决的问题时使交换数据格式大大简化,通常在提及的时候就是其简单性和灵活性(具体简化在哪,对XML还不是很熟悉呢,回头再记录比较吧)

3、json的语法格式

在这个的记录中,与java语言联合起来记忆的效果更好一些

第一:同样可以将数据分为三种类型:标量、序列和映射;所谓标量,就是单个的数据;而序列,则是许多个数据;至于映射,就是有对应项的数据,在json的数据记录中可以联系map集合;

第二:json中“,”可以联系java中句尾的“;”进行记忆;

第三:来看下Douglas Crockford声称已经都规定了,永远不需再升级的规格

a、并列的数据之间用“,”进行分割;

b、映射用“:”来表示;

c、并列数据的集合(数组)用方括号“[ ]”来表示;

d、映射的集合(对象)用大括号“{}”来表示;

图形描述:

(对c中并列数据的集合数组来用“【】”表示,里面数据与数据之间用“,”进行分割)


(映射的集合对象用“{}”来表示,可以将对象放入大括号中,表示不同的对象,映射用“:”来表示,雷同于java中的一条属性,而不同属性之间,也就是不同数据之间用“,”隔开)


(json的值类型)


这里写一个例子来看看:

{"musicians":[
{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},
{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}
]}
在这里musicians表示一个对象,好比java中的
public class Musicians(String firstName,String lastName,String instrument){
private String firstName;
private String lastName;
private String instrument;
};
而冒号之后的方括号,则可以表示传递不同参数生成不同的实例对象,这样大概的json知道是什么了,语法确实不难啊。

今天看了部《史蒂夫-乔布斯:灵光乍现》,哎,不得不说那种使命感让人汗颜不已啊...