0.添加依赖
com.fasterxml.jackson.core
jackson-databind
2.11.2
1.实体类
package com.cat.domain;
public class Person {
public String name;
public String sex;
public int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
2. list转json
我们写一个test类或者在Controller中直接构造,本文是使用的是直接在Controller中调用。
package com.cat.controller;
import com.cat.domain.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping(produces="text/html;charset=UTF-8")
public class IndexController {
List PersonList =new ArrayList<>();
//返回json格式
@RequestMapping(value = "/hello2" )
@ResponseBody
public Object hello2() throws IOException {
Person Person4 = new Person();
Person Person5 = new Person();
Person Person6 = new Person();
Person4.name ="王晓红";
Person5.name ="王晓绿";
Person6.name ="王晓蓝";
Person4.age =13;
Person5.age =14;
Person6.age =16;
Person4.sex ="男";
Person5.sex ="女";
Person6.sex ="男";
PersonList.add(Person4);
PersonList.add(Person5);
PersonList.add(Person6);
System.out.println(PersonList);
ObjectMapper mapper = new ObjectMapper();
String str = mapper.writeValueAsString(PersonList);
System.out.println(str);
return str;
}
}
可以看出,控制台中输出了两端,第一段是list对象,第二段是json格式。
3.json转对象(反序列化)
我们这次自己编写一个类用来测试。
import com.cat.domain.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Arrays;
import java.util.List;
public class main {
public static void main(String[] args) throws Exception {
String json = "[{\"name\":\"王晓红\",\"sex\":\"男\",\"age\":13},{\"name\":\"王晓绿\",\"sex\":\"女\",\"age\":14},{\"name\":\"王晓蓝\",\"sex\":\"男\",\"age\":16}]";
ObjectMapper mapper = new ObjectMapper();
// json 转数组对象
Person[] person = mapper.readValue(json,Person[].class);
for(Person person1:person)
System.out.println(person1);
}
}
4.json转List(反序列化)
import com.cat.domain.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Arrays;
import java.util.List;
public class main {
public static void main(String[] args) throws Exception {
String json = "[{\"name\":\"王晓红\",\"sex\":\"男\",\"age\":13},{\"name\":\"王晓绿\",\"sex\":\"女\",\"age\":14},{\"name\":\"王晓蓝\",\"sex\":\"男\",\"age\":16}]";
ObjectMapper mapper = new ObjectMapper();
// json 转List对象
List person2 = Arrays.asList(mapper.readValue(json,Person[].class));
System.out.println(person2);
}
}
返回目录:开发与教程
Post Views:
212