分類 編程技術(shù)本章節(jié)我們將為大家介紹如何在 Java 語言中使用 JSON。 類庫選擇Java中并沒有內(nèi)置JSON的解析,因此使用JSON需要借助第三方類庫。 下面是幾個常用的 JSON 解析類庫: 以下教程基于 FastJson 講解。 環(huán)境配置在 Maven 構(gòu)建的項目中,在 pom.xml 文件中加入以下依賴即可。 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependency> 編碼與解碼編碼從 Java 變量到 JSON 格式的編碼過程如下: 實例public void testJson() { JSONObject object = new JSONObject(); //string object.put("string","string"); //int object.put("int",2); //boolean object.put("boolean",true); //array List<Integer> integers = Arrays.asList(1,2,3); object.put("list",integers); //null object.put("null",null); System.out.println(object);} 在上例中,首先建立一個 JSON 對象,然后依次添加字符串、整數(shù)、布爾值以及數(shù)組,最后將其打印為字符串。 輸出結(jié)果如下: {"boolean":true,"string":"string","list":[1,2,3],"int":2} 解碼從 JSON 對象到 Java 變量的解碼過程如下: 實例public void testJson2() { JSONObject object = JSONObject .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}"); //string String s = object.getString("string"); System.out.println(s); //int int i = object.getIntValue("int"); System.out.println(i); //boolean boolean b = object.getBooleanValue("boolean"); System.out.println(b); //list List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); integers.forEach(System.out::println); //null System.out.println(object.getString("null"));} 在上例中,首先從 JSON 格式的字符串中構(gòu)造一個 JSON 對象,之后依次讀取字符串、整數(shù)、布爾值以及數(shù)組,最后分別打印,打印結(jié)果如下: string2true123null JSON 對象與字符串的相互轉(zhuǎn)化
實例//從字符串解析JSON對象JSONObject obj = JSON.parseObject("{\"runoob\":\"菜鳥教程\"}");//從字符串解析JSON數(shù)組JSONArray arr = JSON.parseArray("[\"菜鳥教程\",\"RUNOOB\"]\n");//將JSON對象轉(zhuǎn)化為字符串String objStr = JSON.toJSONString(obj);//將JSON數(shù)組轉(zhuǎn)化為字符串String arrStr = JSON.toJSONString(arr); |
|