Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Giải mã (parse) JSON object trong Java (json-simple)

JSONParser và cấu trúc dữ liệu

Thư viện json-simple dùng JSONParser để parse chuỗi JSON thành cấu trúc lồng nhau: JSONObject (tương đương Map) và JSONArray (tương đương List).

Ví dụ: Parse JSON lồng nhau phức tạp

import org.json.simple.*;
import org.json.simple.parser.*;

public class JsonDecodingExample {
    public static void main(String[] args) {
        JSONParser parser = new JSONParser();
        String str = "[ 0 , {\"1\" : { \"2\" : {\"3\" : {\"4\" : [5, { \"6\" : { \"7\" : 8 } } ] } } } } ]";

        try {
            Object obj = parser.parse(str);
            JSONArray array = (JSONArray) obj;

            System.out.println("Phần tử thứ 2 của mảng:");
            System.out.println(array.get(1));

            JSONObject object2 = (JSONObject) array.get(1);
            System.out.println("\nTrường \"1\":");
            System.out.println(object2.get("1"));

            // Test các trường hợp edge
            parser.parse("{}");        // object rỗng
            parser.parse("[6,]");      // trailing comma (json-simple cho phép)
            parser.parse("[6,,3]");    // empty element

        } catch (ParseException e) {
            System.out.println("Vị trí lỗi: " + e.getPosition());
            e.printStackTrace();
        }
    }
}

Kết quả

Phần tử thứ 2 của mảng:
{"1":{"2":{"3":{"4":[5,{"6":{"7":8}}]}}}}
Trường "1"
{"2":{"3":{"4":[5,{"6":{"7":8}}]}}}
{}
[6]
[6,3]

Đặc điểm: json-simple linh hoạt với JSON không chuẩn (trailing comma, empty element). Dùng instanceof để phân nhánh JSONObject/JSONArray khi duyệt cây.