JAVA JSON 語法 和 JSON 解析
阿新 • • 發佈:2019-01-24
一、JSON 語法
作用 : json 檔案是類似xml檔案,用來儲存和傳輸資料資訊的媒介
注意 : json 同 xml 一樣,不僅可以通過響應檔案作為資料的載體,也可以通過滿足語法的字串作為對應資料的載體,稱之為json 字串
json 中 採用資料儲存, 採用{} 與 [] 語法
{} = > java 中的雙列集合 ( 字典 )
[] = > java 中的單列集合 ( 陣列 )
- json 語法最頂層 為單一{} 或 單一[]
- json 語法中結構為 {} [] 相互巢狀( {} 可以巢狀 {} [] , [] 也可以巢狀{} [] )
- json 語法中以逗號(,)作為欄位分割的標識(注意 : 最後一個欄位不能新增逗號)
- 字典中語法為{“key” : value} 格式 (注意: key 為 字串格式, value 擁有型別)
- 陣列中語法為[value1,value2,value3] 格式:(注意: value 擁有型別)
- {} 和 [] 中的每一個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);
}
}
}