Java用Gson将Json数组转成List<对象>
前言
分享一个Gson将Json字符串数组转换成List对象列表的代码,转换前后如下图:
项目中需要引入Jar包:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
代码片断
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.junit.Test;
import java.util.List;
/**
* @Description: json数组转List
*/
public class JsonListTest {
@Data
@AllArgsConstructor
class Student {
private Integer uid;
private String name;
}
@Test
public void builderJson() {
Gson gson = new Gson();
List<Student> studentList = Lists.newArrayList(new Student(1, "张同学")
, new Student(2, "李同学")
, new Student(3, "王同学"));
String json = gson.toJson(studentList);
System.out.println(json);
}
@Test
public void testGson() {
Gson gson = new Gson();
//单个对象这样转
String str = gson.toJson(new Student(1, "张同学"));
Student student = gson.fromJson(str, Student.class);
System.out.println(student.toString());
//json 数组转list
String json = "[{\"uid\":1,\"name\":\"张同学\"},{\"uid\":2,\"name\":\"李同学\"},{\"uid\":3,\"name\":\"王同学\"}]";
List<Student> dataList = gson.fromJson(json, new TypeToken<List<Student>>() {
}.getType());
for (Student stu : dataList) {
System.out.println(stu.toString());
}
}
}
画重点
觉得有用就分享收藏,关注我更多有价值的文章会第一时间推荐给你![玫瑰][玫瑰][玫瑰]
请先 后发表评论~