Javajson轉List詳解

一、Json介紹

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於人閱讀和編寫。在 Web 應用中,JSON 最常用於向伺服器請求一個數據,並將數據顯示在網頁上。JSON 可以使用 JavaScript 中的 JSON.parse() 方法將 json 字元串解析成一個 JavaScript 對象。

JSON 大多數情況下是以文件格式存在,使用 JSON 文件非常簡單,只需調用相關 API 將 JSON 文件載入為 JsonNode 節點即可。因為 JSON 格式具有輕量、易讀性及性能優越等特性,廣泛應用於 Web API 的返回值、網路傳輸及前端數據解析等場景。

二、將Json轉換為List的應用場景

我們知道,Json 是一種經典的跨平台關鍵特性存儲和交換信息格式,而 Java 作為一種平台無關的編程語言,在開發中需要面對各種各樣的數據格式和傳輸方式。而在某些特定的情況下,我們需要將Json格式的數據轉成Java對象,進而進行操作。那麼,將 Json 解析成Java 對象的方式就變成了一個必要的操作,並且在很多應用中都被廣泛應用。

當需要處理從 Web 服務搜集的大量 JSON 數據並在客戶端上對其進行訪問時,Java 中一個廣泛使用的技術就是將 JSON 數據解析成一個標準對象集合,以便有效地操作數據。換言之,如果您正在處理一個 Web API,並且將其中每個事件的細節作為 JSON 對象返回,那麼您最簡單的解決方案可能是將 JSON 數組轉換為一個 Java 集合,例如 List,然後進行更進一步的操作。

三、JavaJson轉List的方法

1. 使用Jackson的ObjectMapper轉換

ObjectMapper mapper = new ObjectMapper();
String json = "[{\"name\":\"張三\",\"age\":18}, {\"name\":\"李四\",\"age\":20}]";
List<Person> personList = mapper.readValue(json, new TypeReference<List<Person>>(){});

這裡使用Jackson框架的 ObjectMapper 對象將 Json 數據轉換成 List<Person> 列表對象,其中 Person 是一個自定義類,可以用於存儲 Json 對象中的信息。

2. 使用Gson的fromJson方法轉換

Gson gson = new Gson();
String json = "[{\"name\":\"張三\",\"age\":18}, {\"name\":\"李四\",\"age\":20}]";
List<Person> personList = gson.fromJson(json, new TypeToken<List<Person>>(){}.getType());

這裡使用Gson框架的 fromJson 方法將 Json 數據轉換成 List<Person> 類型的對象,其中 Person 也是一個自定義類。

3. 使用JsonArray轉換

String json = "[{\"name\":\"張三\",\"age\":18}, {\"name\":\"李四\",\"age\":20}]";
JsonArray jsonArray = new JsonParser().parse(json).getAsJsonArray();
List<Person> personList = new ArrayList<Person>();
for (int i = 0; i < jsonArray.size(); i++) {
    JsonObject personJson = jsonArray.get(i).getAsJsonObject();
    Person person = new Person();
    person.setName(personJson.get("name").getAsString());
    person.setAge(personJson.get("age").getAsInt());
    personList.add(person);
}

這裡使用 JsonArray 對象將 Json 數據轉換成 List<Person> 對象,同樣需要將 Json 字元串轉成 JsonArray 對象,然後進行遍歷,提取每個 Json 對象中的信息存入 Person 對象中,最後將生成的 Person 對象添加到 List 對象中。

四、總結

在項目開發過程中,經常會遇到將Json數據轉換為Java對象來方便進行操作的情況,在這篇文章中,我們介紹了使用Jackson和Gson兩種框架和JsonArray對象的方法將Json數據轉換為JavaList對象,這些方法都能夠高效地完成這項工作。具體而言,選擇哪種方法取決於您項目中所涉及的技術棧和個人喜好。但是,無論您選擇何種方法,只要您熟練掌握這些工具和技術,就能夠輕鬆地將 JSON 數據轉換為 Java List 對象。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286422.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:47
下一篇 2024-12-23 03:47

相關推薦

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一個非常有用的函數,在很多的深度學習模型中都會用到。它的主要功能是將TensorFlow中的張量(Tensor)轉換為P…

    編程 2025-04-29
  • 如何使用Python將輸出值賦值給List

    對標題進行精確、簡明的解答:本文將從多個方面詳細介紹Python如何將輸出的值賦值給List。我們將分步驟進行探討,以便讀者更好地理解。 一、變數類型 在介紹如何將輸出的值賦值給L…

    編程 2025-04-28
  • Python List查找用法介紹

    在Python中,list是最常用的數據結構之一。在很多場景中,我們需要對list進行查找、篩選等操作。本文將從多個方面對Python List的查找方法進行詳細的闡述,包括基本查…

    編程 2025-04-28
  • Python DataFrame轉List用法介紹

    Python中常用的數據結構之一為DataFrame,但有時需要針對特定需求將DataFrame轉為List。本文從多個方面針對Python DataFrame轉List詳細介紹。…

    編程 2025-04-27
  • Python中list和tuple的用法及區別

    Python中list和tuple都是常用的數據結構,在開發中用途廣泛。本文將從使用方法、特點、存儲方式、可變性以及適用場景等多個方面對這兩種數據結構做詳細的闡述。 一、list和…

    編程 2025-04-27
  • 使用Flutter開發ToDo List App

    本文將會介紹如何使用Flutter開發一個實用的ToDo List App。ToDo List,即待辦事項清單,是一種記錄人們未處理工作和待辦事項的方式。隨著日常生活的快節奏,如此…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論