首页 > 文章列表 > 我们如何在Java中解码一个JSON对象?

我们如何在Java中解码一个JSON对象?

java json 解码
335 2023-08-26

JSON是一种轻量级、基于文本和语言无关的数据交换格式。JSON可以表示两种结构化类型,如对象和数组。我们可以使用json.simple API中的JSONObject和JSONArray解码JSON对象。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]