@JsonAlias和@JsonProperty用法参考

2023-05-16

@JsonProperty
这个注解提供了序列化和反序列化过程中该java属性所对应的名称
@JsonAlias
这个注解只只在反序列化时起作用,指定该java属性可以接受的更多名称
JsonAlias 反序列化才可以接收 读
JsonProperty 序列化反序列化都可以接收 读 写
测试代码

package com.astutephone.user.domain.model.pojo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 */
@Data
public class A {

    private String name;

    //@JsonAlias("eat.meat")
    @JsonProperty("eat.meat")
    private String meat;


    public static void main(String[] args) throws JsonProcessingException {
        Map<String,String> a = new HashMap<>();
        a.put("name","11");
        a.put("eat.meat","aa");
        String toJSON = JSONObject.toJSONString(a);
        ObjectMapper objectMapper= new ObjectMapper();

        A user = objectMapper.readValue(toJSON, A.class);
        System.out.println(JSON.toJSONString(user));

        A b= new A();
        b.setName("1");
        b.setMeat("2");
        String s = objectMapper.writeValueAsString(b);
        System.out.println(s);

    }
}


 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@JsonAlias和@JsonProperty用法参考 的相关文章

随机推荐