一、JSONObject和JSONArray
在介紹Java String轉JsonObject實現的方法之前,需要先介紹一下JSONObject和JSONArray,它們是Java對JSON的解析和生成類。JSONObject和JSONArray都繼承於JSONTokener,JSONTokener提供了從String、Reader、InputStream、URL等多種方式來解析JSON的方法。
//示例1: JSON字元串轉JSONObject String jsonString = "{\"name\":\"小明\", \"age\":18}"; JSONObject jsonObject = new JSONObject(jsonString); System.out.println(jsonObject.getString("name")); //輸出小明 //示例2: JSONObject轉JSON字元串 JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "小明"); jsonObject.put("age", 18); String jsonString = jsonObject.toString(); System.out.println(jsonString); //輸出{"name":"小明","age":18}
二、通過org.json庫實現
org.json是一款JSON解析生成庫,使用簡單,且輕量級,它可以將JSON轉換為Java對象,反之也可以將Java對象轉換為JSON。
那麼如何通過org.json庫將Java String轉換為JSONObject呢?
String jsonString = "{\"name\":\"小明\", \"age\":18}"; JSONObject jsonObject = new JSONObject(jsonString); System.out.println(jsonObject.getString("name")); //輸出小明
三、通過Gson庫實現
Gson是Google開源的一款JSON解析庫,使用了Java註解來實現屬性與JSON之間的映射關係。它可以將JSON字元串轉換成Java對象,反之也可以將Java對象轉換成JSON字元串。
使用Gson庫將Java String轉換為JSONObject的方法如下:
String jsonString = "{\"name\":\"小明\", \"age\":18}"; JSONObject jsonObject = new JSONObject(new Gson().fromJson(jsonString, LinkedHashMap.class)); System.out.println(jsonObject.getString("name")); //輸出小明
四、通過Jackson庫實現
Jackson是一款性能卓越的JSON解析庫,它可以用來序列化、反序列化Java對象和JSON對象。而在Java String轉換為JSONObject時,我們需要使用Jackson的ObjectMapper類。
使用Jackson庫將Java String轉換為JSONObject的方法如下:
String jsonString = "{\"name\":\"小明\", \"age\":18}"; ObjectMapper mapper = new ObjectMapper(); JSONObject jsonObject = new JSONObject(mapper.readValue(jsonString, LinkedHashMap.class)); System.out.println(jsonObject.getString("name")); //輸出小明
五、使用第三方庫實現
在實際的開發中,我們使用的不僅僅是org.json、Gson和Jackson,還有一些其他的第三方庫,如fastjson、Json-lib等。
使用fastjson將Java String轉換為JSONObject的方法如下:
String jsonString = "{\"name\":\"小明\", \"age\":18}"; JSONObject jsonObject = JSONObject.parseObject(jsonString); System.out.println(jsonObject.getString("name")); //輸出小明
使用Json-lib將Java String轉換為JSONObject的方法如下:
String jsonString = "{\"name\":\"小明\", \"age\":18}"; JSONObject jsonObject = JSONObject.fromObject(jsonString); System.out.println(jsonObject.getString("name")); //輸出小明
六、總結
通過本文的介紹,我們了解了Java String轉JsonObject實現的多種方法,其中包括了org.json、Gson、Jackson和一些其他第三方庫的實現方式。這些方式各有優缺點,在實際開發中可以根據自己的需求進行選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/294122.html