1. 程式人生 > >JAVA JSON 語法 和 JSON 解析

JAVA JSON 語法 和 JSON 解析

一、JSON 語法

作用 : json 檔案是類似xml檔案,用來儲存和傳輸資料資訊的媒介
注意 : json 同 xml 一樣,不僅可以通過響應檔案作為資料的載體,也可以通過滿足語法的字串作為對應資料的載體,稱之為json 字串
json 中 採用資料儲存, 採用{} 與 [] 語法
{} = > java 中的雙列集合 ( 字典 )
[] = > java 中的單列集合 ( 陣列 )

  1. json 語法最頂層 為單一{} 或 單一[]
  2. json 語法中結構為 {} [] 相互巢狀( {} 可以巢狀 {} [] , [] 也可以巢狀{} [] )
  3. json 語法中以逗號(,)作為欄位分割的標識(注意 : 最後一個欄位不能新增逗號)
  4. 字典中語法為{“key” : value} 格式 (注意: key 為 字串格式, value 擁有型別)
  5. 陣列中語法為[value1,value2,value3] 格式:(注意: value 擁有型別)
  6. {} 和 [] 中的每一個value,均可以為{} | [] ,且 多個value 型別不一定相同

多條語句語法:
{
“key1” : value1,
“key2” : value2,
“key3” : value3
}

public class Fjson02{
    public
static void main(String[] args){ String jStr = "{\"color\" : \"紅色\" ,\"weight\": \"11.4\"}"; // JSON 字串以 {} 包裹, 解析為 JSONObject 物件 // JSON 字串以 [] 包裹, 解析為 JSONArray 物件 Object obj = JSON.parse(jStr); JSONObject jObj = (JSONObject) obj; System.out.println(obj); String color = jObj.getString("color"
); double weight = jObj.getDouble("weight"); System.out.printf("%.1f" , weight); } }
public class FJson03{
    public static void main(String[] args){
        String jStr = "{\"data\" : [1,2,3,4,5],\"name\" : \"張三\"}";
        //  獲取json字串的 JSONObject 物件
        JSONObject jObj = (JSONObject) JSON.parse(jStr);
        //  獲取對應data 的 陣列物件
        JSONArray jArr = jObj.getJSONArray("data");
        //  列印
        System.out.println(jArr);
        //  將陣列 jarr遍歷出來
        for(int i = 0; i < jArr.size(); i++){
            //  獲取值  getIntValue()
            int num = jArr.getIntValue(i);
            System.out.println(num);
        }
    }
}