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