Java中Json配置可以使用各種開源庫進行處理,這里介紹幾個常用的Json庫。
/** * 使用gson庫進行Json處理 */ public staticT parseJsonWithGson(String json, Class clazz) { Gson gson = new Gson(); return gson.fromJson(json, clazz); } /** * 使用fastjson庫進行Json處理 */ public static T parseJsonWithFastJson(String json, Class clazz) { return JSON.parseObject(json, clazz); } /** * 使用jackson庫進行Json處理 */ public static T parseJsonWithJackson(String json, Class clazz) { ObjectMapper mapper = new ObjectMapper(); try { return mapper.readValue(json, clazz); } catch (IOException e) { e.printStackTrace(); return null; } }
以上是使用gson、fastjson和jackson庫進行Json處理的示例代碼,其中gson和fastjson在處理Json時都使用了泛型,能夠自動實現Java對象和Json字符串的轉換,而jackson則需要手動指定需要轉換的對象類型。
除了解析Json數據之外,還需要對Json數據進行創建和修改。下面是使用gson和fastjson庫進行Json數據創建和修改的示例代碼。
/** * 使用gson庫創建Json數據 */ public static String createJsonWithGson() { Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "John"); jsonObject.addProperty("age", 25); jsonObject.addProperty("isMale", true); JsonArray jsonArray = new JsonArray(); jsonArray.add(new JsonPrimitive("Music")); jsonArray.add(new JsonPrimitive("Sport")); jsonObject.add("hobbies", jsonArray); return gson.toJson(jsonObject); } /** * 使用fastjson庫創建Json數據 */ public static String createJsonWithFastJson() { JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "John"); jsonObject.put("age", 25); jsonObject.put("isMale", true); JSONArray jsonArray = new JSONArray(); jsonArray.add("Music"); jsonArray.add("Sport"); jsonObject.put("hobbies", jsonArray); return jsonObject.toJSONString(); } /** * 使用fastjson庫修改Json數據 */ public static String modifyJsonWithFastJson(String json) { JSONObject jsonObject = JSON.parseObject(json); jsonObject.put("age", 30); return jsonObject.toJSONString(); }
以上是使用gson和fastjson庫創建和修改Json數據的示例代碼,通過創建JsonObject或JSONObject對象,可以實現Json數據的創建。而在修改Json數據時,需要先將Json數據解析成JsonObject或JSONObject對象,然后再進行數據的修改,最后將修改后的數據轉換為Json字符串。