Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JSON 객체를 어떻게 디코딩할 수 있습니까?


JSON 경량입니다. , 텍스트 기반 언어 독립적 데이터 교환 형식. JSON은 객체 와 같은 두 가지 구조화된 유형을 나타낼 수 있습니다. 및 배열 . JSONObject 를 사용하여 JSON 개체를 디코딩할 수 있습니다. 및 JSONArray json.simple API에서 . JSONObject java.util.Map으로 작동 반면 JSONArray java.util.List로 작동 .

아래 예에서는 JSON 개체를 디코딩할 수 있습니다.

예시

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

출력

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

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