【簡介】
Json是一串字符串,使用特定的符號進行標註。
一、{}表示對象
二、[]表示數組
三、""內是屬性或值
四、:表示後者是前者的值(能夠是字符串、數字、也能夠是另外的數組、另外的對象) 。css
【一、Java建立一個簡單的Json】java
/*建立一個簡單的 * Json字符串 */ public static String createJsonStr(String key, Object value) { JSONObject jsonObject = new JSONObject(); jsonObject.put(key, value); return jsonObject.toString(); } public static void main(String[] args) { String jsonstr = createJsonStr("red","ant"); System.err.println("Json字符串"+jsonstr); }
咱們獲得一個Json對象json
【二、JSONObject與JSONArray】
JSONObject,是一個Json對象,使用的是大括號{ }。
JSONArray,是一個Json數組,使用[],數組裏面的項也是Json鍵值對格式的。
JSONObject對象中添加的是鍵值對,使用Json.put("key", "value");
JSONArray中添加的是Json對象,使用JsonArray.add(Json)。
也就是說api
/* * 建立一個簡單的Json */ public static JSONObject createJson(String key, Object value) { JSONObject jsonObject = new JSONObject(); jsonObject.put(key, value); return jsonObject; } public static void main(String[] args) { JSONArray jsonarry = new JSONArray(); jsonarry.add(createJson("red","ant")); jsonarry.add("redAnt20190715"); JSONObject jsonObject = new JSONObject(); jsonObject.put("redant", jsonarry); jsonObject.put("red_ant", createJson("2019","0715")); System.err.println(jsonarry); System.err.println(jsonObject); }
獲得數組
也就是說,原理很簡單。但組合起來,就是個很龐大的數據。可是知道其中的組成原理,又能夠一眼看穿整個結構。
例如,【4】。ide
【三、JSONObject與Map】
上面說JsonObject是一個鍵值對的關係對象,那麼提到鍵值對咱們首先想到的是Map數組。這兩有什麼區別呢?
Map中的鍵值對用等號=分開,Json中的鍵值對中間使用冒號:分開。
這麼看來,Json是一種特殊形式的Map,或者Map是一種特殊形式的Json。怎麼形容徹底取決於這兩誰出生的早,可是依照編譯器來講Json是一種特殊形式的Map。由於3d
【四、JSONObject與JSONArray組合出的例子】code
package com.css.java.learning.json; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonExp { /**咱們有一個手機大品類 * 該品類下分各個廠商的手機 * 手機的屬性有 * 像素,圖片,cpu等等 * 用Json表示 */ public static JSONObject createTestJson() { //首先咱們分析最外圍是一個Jsonobject,放置一個手機的大品類 JSONObject jobject = new JSONObject(); //下分各個廠商,說明是一個數組,該數組存放各個廠商 JSONArray jsarry = new JSONArray(); { //某某手機 JSONObject jobject1 = new JSONObject(); jobject1.put("pinpai品牌", "3123131qeqw"); jobject1.put("像素", "3131qwdwqd"); jobject1.put("cpu", "313asdas"); jobject1.put("電池", "313dd"); jobject1.put("圖片", "adsdd1223"); jobject1.put("生產日期", "31adada"); jobject1.put("價格", "dad1313"); jsarry.add(jobject1); //另外一個手機 JSONObject jobject2 = new JSONObject(); jobject2.put("pinpai品牌", "13213"); jobject2.put("像素", "3wqewqeq"); jobject2.put("cpu", "3131dqa"); jobject2.put("電池", "1312dd"); jobject2.put("圖片", "313dd"); jobject2.put("生產日期", "ddaddad1"); jobject2.put("價格", "3131xdad"); jsarry.add(jobject2); } jobject.put("dapinlei大品類", jsarry); return jobject; } public static void main(String[] args) { System.err.println(createTestJson()); } }
因而咱們獲得對象