一、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 = ; i < jArr.size(); i++){
// 擷取值 getIntValue()
int num = jArr.getIntValue(i);
System.out.println(num);
}
}
}