一、JSON簡介
JSON(全稱為JavaScript Object Notation)是一種輕量級數據交換格式,它以純文本方式表示數據,易於閱讀和編寫。JSON適用於客戶端和服務端之間的數據傳輸,它的主要作用是替代XML和其他複雜的數據傳輸格式。JSON格式的數據具有良好的可讀性和可維護性,因此在常見的API接口中廣泛應用。
二、JAVA字符串轉JSON
JAVA字符串轉JSON需要藉助相關的JSON庫,常用的JSON庫有Gson和Jackson等。以Gson為例,下面是將JAVA對象轉換為JSON格式的示例代碼:
import com.google.gson.Gson; public class Person { private String name; private int age; /*getter and setter方法*/ public static void main(String[] args) { Person person = new Person(); person.setName("Alice"); person.setAge(20); Gson gson = new Gson(); String json = gson.toJson(person); System.out.println(json); } }
運行結果為:
{"name":"Alice","age":20}
代碼中,首先定義了一個Person類,然後使用Gson對象將Person對象轉換為JSON格式的字符串。轉換過程中,可以使用相關的配置選項對JSON字符串的格式進行調整,例如可以設置縮進等參數。轉換完成後,這個JSON字符串就可以用於數據傳輸、存儲、解析等操作。
三、JAVA JSON字符串轉List
1、使用Gson將JSON字符串轉List
將JSON字符串轉換為List需要藉助相關的JSON庫,以Gson為例,下面是將JSON字符串轉List的示例代碼:
import com.google.gson.Gson; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; public class Person { private String name; private int age; /*getter and setter方法*/ public static void main(String[] args) { Gson gson = new Gson(); String json = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":22}]"; Type type = new TypeToken<List>(){}.getType(); List list = gson.fromJson(json, type); for (Person person : list) { System.out.println("Name: " + person.getName() + ", Age: " + person.getAge()); } } }
運行結果為:
Name: Alice, Age: 20 Name: Bob, Age: 22
代碼中,首先定義了一個Person類,然後使用Gson對象將JSON字符串轉換為List對象。在轉換過程中,需要指定轉換的類型,因為Gson不能夠識別泛型類型。轉換過程完成後,就可以像操作普通的List對象一樣,對轉換得到的List對象進行循環遍歷、操作等操作。
2、使用Jackson將JSON字符串轉List
Jackson是另外一個常用的JSON庫,下面是使用Jackson將JSON字符串轉List的示例代碼:
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Person { private String name; private int age; /*getter and setter方法*/ public static void main(String[] args) { ObjectMapper mapper = new ObjectMapper(); String json = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":22}]"; try { List list = mapper.readValue(json, new TypeReference<List>(){}); for (Person person : list) { System.out.println("Name: " + person.getName() + ", Age: " + person.getAge()); } } catch (IOException e) { e.printStackTrace(); } } }
運行結果與使用Gson相同。
代碼中,使用ObjectMapper對象將JSON字符串轉換為List對象。同樣需要指定轉換的類型,因為Jackson也不能夠識別泛型類型。在轉換過程中,還可以使用相關的配置選項對JSON字符串的格式進行調整。
四、總結
本文主要介紹了JAVA字符串轉List的相關知識,從JSON的介紹開始,逐一講解了使用Gson和Jackson兩個常用JSON庫的示例代碼。在實際開發中,需要根據具體的應用場景選擇合適的JSON庫和轉換方式,並注意對數據類型的定義和轉換。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/184012.html