一、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);
}
}
}