一、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
微信掃一掃
支付寶掃一掃