如何在 Java 中解码 JSON 对象?
javajsonobject oriented programmingprogramming
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]