在Java中,使用json字符串轉為json對象經常用于解析HTTP響應或讀取本地文件中的JSON。
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它易于閱讀和編寫,并且易于解析和生成。JSON具有無類型的屬性和值的鍵對結構,它可以以字符串形式傳輸到網絡上的另一個程序,程序可以解析該字符串并使用其中的信息。
Java中可以使用JSON庫來處理JSON字符串。其中比較常用的JSON庫是Gson、Fastjson、Jackson等。
//使用Gson將JSON字符串轉為JSON對象 import com.google.gson.Gson; import com.google.gson.JsonObject; public class JsonUtil { public static JsonObject string2Json(String jsonString) { Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class); return jsonObject; } } //示例 String jsonString = "{\"name\":\"張三\", \"age\":20}"; JsonObject jsonObject = JsonUtil.string2Json(jsonString); System.out.println(jsonObject.get("name").getAsString()); //輸出張三 System.out.println(jsonObject.get("age").getAsInt()); //輸出20
//使用Fastjson將JSON字符串轉為JSON對象 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JsonUtil { public static JSONObject string2Json(String jsonString) { JSONObject jsonObject = JSON.parseObject(jsonString); return jsonObject; } } //示例 String jsonString = "{\"name\":\"李四\", \"age\":21}"; JSONObject jsonObject = JsonUtil.string2Json(jsonString); System.out.println(jsonObject.get("name")); //輸出李四 System.out.println(jsonObject.get("age")); //輸出21
//使用Jackson將JSON字符串轉為JSON對象 import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonUtil { public static JsonNode string2Json(String jsonString) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(jsonString); return jsonNode; } } //示例 String jsonString = "{\"name\":\"王五\", \"age\":22}"; JsonNode jsonNode = JsonUtil.string2Json(jsonString); System.out.println(jsonNode.get("name").asText()); //輸出王五 System.out.println(jsonNode.get("age").asInt()); //輸出22
以上是使用三種常用的JSON庫將JSON字符串轉為JSON對象的方法。根據不同的需求,可選擇不同的JSON庫來處理JSON數據。