一、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<Person>>(){}.getType();
List<Person> 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<Person> list = mapper.readValue(json, new TypeReference<List<Person>>() {});
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库和转换方式,并注意对数据类型的定义和转换。