java - 如何使用 spring boot 将 json 映射到对象

标签 java json spring spring-boot jackson

<分区>

你好,我想知道如何在使用 spring boot 时将我的 json 消息映射到 java 中的对象。

假设我正在获取类似 json 的内容

 {
    "customerId": 2,
    "firstName": "Jan",
    "lastName": "Nowak",
    "town": "Katowice"
  }

我想在我的 java 程序中将其作为实体: 并且出于某种原因我不想匹配字段名称

public class Customer {


    //Something like @Map("customerId")
    private long OMG;
    //Something like @Map("firstName")
    private String WTF;
    //Something like @Map("lastName")
    private String LOL;
    //Something like @Map("town")
    private String YOLO;

我找不到应该使用的注解,不使用 jackson,只是内置了 spring boot 转换器??

最佳答案

Spring Boot 随 Jackson 开箱即用。

您可以使用 @RequestBody Spring MVC 注释将 json 字符串解码为 Java 对象...类似这样。

@RestController
public class CustomerController {
    //@Autowired CustomerService customerService;

    @RequestMapping(path="/customers", method= RequestMethod.POST)
    @ResponseStatus(HttpStatus.CREATED)
    public Customer postCustomer(@RequestBody Customer customer){
        //return customerService.createCustomer(customer);
    }
}

使用带有相应 json 字段名称的 @JsonProperty 注释您的实体成员元素。

public class Customer {
    @JsonProperty("customerId")
    private long OMG;
    @JsonProperty("firstName")
    private String WTF;
    @JsonProperty("lastName")
    private String LOL;
    @JsonProperty("town")
    private String YOLO;
}

关于java - 如何使用 spring boot 将 json 映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40226481/

相关文章:

java - 使用正则表达式查找字符串中的第一个单词和最后几个单词

java - 登录原本不存在的 Java 应用程序

java - 通过在 URL 周围添加引号来修复 JSON

javascript - 使用 Ramda 对 js 中的 JSON 对象进行通用过滤

java - Spring Boot @requestmapping继承

java - spring security 表单登录

java - 如何在java中将扩展ASCII字符作为字符串读/写到ANSI编码文本文件中

javax.ws.rs 按目标进行 REST 测试 - 在哪里获取或设置服务器地址?

perl - 通过 perl 解析以 JSON 编码的数组

java - Spring在路径中找不到配置