初識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知道是什麼了,文法確實不難啊。
今天看了部《史蒂夫-喬布斯:靈光乍現》,哎,不得不說那種使命感讓人汗顏不已啊...