1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Jackson - 将 JSON字符串转换为 List

Jackson - 将 JSON字符串转换为 List

时间:2021-01-24 04:07:03

相关推荐

Jackson - 将 JSON字符串转换为 List

将 JSON 数组字符串转换为List使用的方法:

// JSON array string// [{"name":"mkyong", "age":37}, {"name":"fong", "age":38}]ObjectMapper mapper = new ObjectMapper();String json = "[{\"name\":\"mkyong\", \"age\":37}, {\"name\":\"fong\", \"age\":38}]";// 1. convert JSON array to Array objectsPerson[] pp1 = mapper.readValue(json, Person[].class);// 2. convert JSON array to List of objectsList<Person> ppl2 = Arrays.asList(mapper.readValue(json, Person[].class));

pom文件:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version></dependency>

将JSON数组字符串转换为List

① JSON数组字符串

[{"name":"mkyong", "age":37}, {"name":"fong", "age":38}]

② 创建一个对象来映射上述JSON字段

@Datapublic class Person {String name;Integer age;}

③ 将 JSON 数组字符串转换为List

public class JacksonArrayExample {public static void main(String[] args) {ObjectMapper mapper = new ObjectMapper();String json = "[{\"name\":\"mkyong\", \"age\":37}, {\"name\":\"fong\", \"age\":38}]";try {// 1. convert JSON array to Array objectsPerson[] pp1 = mapper.readValue(json, Person[].class);System.out.println("JSON array to Array objects...");for (Person person : pp1) {System.out.println(person);}// 2. convert JSON array to List of objectsList<Person> ppl2 = Arrays.asList(mapper.readValue(json, Person[].class));System.out.println("\nJSON array to List of objects");ppl2.stream().forEach(x -> System.out.println(x));// 3. alternativeList<Person> pp3 = mapper.readValue(json, new TypeReference<List<Person>>() {});System.out.println("\nAlternative...");pp3.stream().forEach(x -> System.out.println(x));} catch (IOException e) {e.printStackTrace();}}}

输出:

JSON array to Array objects...Person(name=mkyong, age=37)Person(name=fong, age=38)JSON array to List of objectsPerson(name=mkyong, age=37)Person(name=fong, age=38)Alternative...Person(name=mkyong, age=37)Person(name=fong, age=38)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。