JSON: JavaScript Object Notation,是一種數據格式,對,僅僅是一種格式。
和它相似的還有XML;java
通常咱們在進行客戶端和服務端交換數據的時候,會使用Json來進行數據的傳輸,即轉換成字符串類型的json數據來進行數據的交換。json
Json類型的數據有兩種,分別是 JSONObject(json對象),JSONArray(json數組)。通常來講二組的區別在於,對象是無序的,而數組是有序的,看具體需求選擇使用。數組
JSONObject(json對象):以鍵(key)值(value)對的形式存在,其中,鍵和值的中間用分號(:)隔開,對象之間用逗號(,)隔開。使用花括號包裹({}),
鍵必須是:字符串
值能夠是:
數字、字符串、邏輯值、json數組、json對象、null。對象
例:author = {「name」:「追求」,「age」:22}ip
JSONArray(json數組):json數組裏的元素的類型就是json對象裏的值,沒有鍵。使用逗號(,)隔開,使用中括號(【】)包裹。
例: 【author , audience,「hello」,true , null , 123】字符串
json字符串=====》java對象io
json字符串---->json對象
JSONObject obj = new JSONObject().fromObject(jsonStr);
json對象----->java對象
javabean jb = (javabean)JSONObject.toBean(obj,javabean.class);class
java對象======》json字符串數據
java對象------>json對象,
JSONObject json = JSONObject.fromObject(obj);
json對象------->json字符串
String str = json.toString();客戶端
字符串====》son數組:
JSONArray ja = (JSONArray) JSONArray.parse(str);
若是將對象換爲數組,只須要將JSONObject換成JSONArray便可。