欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jackson嵌套json轉扁平對象

呂致盈2年前8瀏覽0評論

Jackson 是一款用于 Java 的開源 JSON 處理庫,能夠通過嵌套 JSON 轉換為扁平的 Java 對象。下面是使用 Jackson 進行嵌套 JSON 轉扁平對象的示例。

// 定義嵌套 JSON 字符串
String nestedJson = "{ \"id\": 1, \"name\": \"John\", \"address\": { \"street\": \"Main St.\", \"city\": \"New York\" }, \"phoneNumbers\": { \"home\": \"123456789\", \"work\": \"987654321\" } }";
// 使用 ObjectMapper 將 JSON 轉為 JsonNode 對象
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(nestedJson);
// 定義扁平化后的 Java 對象類
public class FlatObject {
private int id;
private String name;
private String addressStreet;
private String addressCity;
private String phoneNumbersHome;
private String phoneNumbersWork;
// 必須提供一個無參數構造函數
public FlatObject() {}
// 定義 getter 和 setter 方法
// ...
}
// 扁平化 JsonNode 對象
FlatObject flatObject = new FlatObject();
flatObject.setId(rootNode.get("id").asInt());
flatObject.setName(rootNode.get("name").asText());
flatObject.setAddressStreet(rootNode.get("address").get("street").asText());
flatObject.setAddressCity(rootNode.get("address").get("city").asText());
flatObject.setPhoneNumbersHome(rootNode.get("phoneNumbers").get("home").asText());
flatObject.setPhoneNumbersWork(rootNode.get("phoneNumbers").get("work").asText());

如上述示例所示,使用 Jackson 進行嵌套 JSON 轉扁平對象非常簡單,只需要使用 ObjectMapper 將 JSON 轉為 JsonNode 對象,再通過扁平化后的 Java 對象類進行設置即可。