Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào chúng ta có thể giải mã một đối tượng JSON trong Java?


A JSON là một nhẹ , dựa trên văn bản không phụ thuộc vào ngôn ngữ định dạng trao đổi dữ liệu. JSON có thể đại diện cho hai loại có cấu trúc như đối tượng mảng . Chúng tôi có thể giải mã một đối tượng JSON bằng cách sử dụng JSONObject JSONArray từ json.simple API . Một JSONObject hoạt động như một java.util.Map trong khi JSONArray hoạt động như một java.util.List .

Trong ví dụ dưới đây, chúng ta có thể giải mã một đối tượng JSON.

Ví dụ

import org.json.simple.*;
import org.json.simple.parser.*;
public class JSONDecodingTest {
   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("2nd Array element: ");
         System.out.println(array.get(1));
         System.out.println();
         JSONObject object2 = (JSONObject) array.get(1);
         System.out.println("Field \"1\"");
         System.out.println(object2.get("1"));
         str = "{}";
         obj = parser.parse(str);
         System.out.println(obj);
         str = "[6,]";
         obj = parser.parse(str);
         System.out.println(obj);
         str = "[6,,3]";
         obj = parser.parse(str);
         System.out.println(obj);
      } catch(ParseException parseExp) {
           System.out.println("Exception position: " + parseExp.getPosition());
           System.out.println(parseExp);
      }
   }
}

Đầu ra

2nd Array element:
{"1":{"2":{"3":{"4":[5,{"6":{"7":8}}]}}}}

Field "1"
{"2":{"3":{"4":[5,{"6":{"7":8}}]}}}
{}
[6]
[6,3]