天天看点

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