2 回答

TA贡献1815条经验 获得超10个赞
Pojo 类将如下所示:
public class TestPojo{
private Users[] data;
private String message;
public Users[] getData() {
return data;
}
public void setData(Users[] data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
class Users {
private String email;
private String firstName;
private String lastName;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
在控制器的方法参数中使用 @RequestBody。
@RestController
class AbcController{
PostMapping("/api")
public String create(@RequestBody TestPojo test){
// you can acess your json in test object
return "done"
}
}

TA贡献1824条经验 获得超8个赞
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.SerializationFeature;
import lombok.Getter;
import lombok.Setter;
import org.junit.Test;
import org.springframework.context.annotation.Bean;
import java.io.IOException;
import java.util.List;
public class TestJUnit {
@Test
public void exec() {
String json = "{" +
" \"data\": [" +
" {" +
" \"email\": \"eskaferas@gmail.com\"," +
" \"firstName\": \"Seras\"," +
" \"lastName\": \"Meras\"" +
" }," +
" {" +
" \"email\": \"Soras@gmail.com\"," +
" \"firstName\": \"Oras\"," +
" \"lastName\": \"Moras\"" +
" }," +
" {" +
" \"email\": \"bzbzb@gmail.com\"," +
" \"firstName\": \"hello\"," +
" \"lastName\": \"bye\"" +
" }," +
" {" +
" \"email\": \"lrc@gmail.com\"," +
" \"firstName\": \"Seras\"," +
" \"lastName\": \"Meras\"" +
" }" +
" ]," +
" \"message\": \"Success\"" +
"}".replaceAll(" ", "");
ObjectMapper mapper = new ObjectMapper();
try {
JsonParser parser = mapper.readValue(json, JsonParser.class);
} catch (IOException e) {
e.printStackTrace();
}
}
@Getter
@Setter
private static class JsonParser {
private List<Data> data;
private String message;
}
@Getter
@Setter
private static class Data{
private String email;
private String firstName;
private String lastName;
}
// @Configuration
private static class Configuration{
@Bean
public ObjectMapper objectMapper(){
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
mapper.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES);
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
mapper.setVisibility(mapper.getSerializationConfig()
.getDefaultVisibilityChecker().withFieldVisibility(JsonAutoDetect.Visibility.ANY)
.withGetterVisibility(JsonAutoDetect.Visibility.NONE)
.withSetterVisibility(JsonAutoDetect.Visibility.NONE)
.withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
return mapper;
}
}
}
添加回答
举报