当前位置 : 主页 > 编程语言 > java >

json字符串转换实体对象@JsonProperty

来源:互联网 收集:自由互联 发布时间:2023-09-03
需求:json字符串转成对象,存储到数据库中 字段不确定,除了固定字段外可能会有其他字段的处理 解决方案:固定字段使用注解@JsonProperty接收 非固定字段使用@JsonAnySetter和@JsonAnyGet

需求:json字符串转成对象,存储到数据库中

字段不确定,除了固定字段外可能会有其他字段的处理

解决方案:固定字段使用注解@JsonProperty接收

非固定字段使用 @JsonAnySetter和@JsonAnyGetter接收

package models.testModel;

import com.alibaba.acm.shaded.org.codehaus.jackson.annotate.JsonAnyGetter;
import com.alibaba.acm.shaded.org.codehaus.jackson.annotate.JsonAnySetter;
import com.alibaba.acm.shaded.org.codehaus.jackson.annotate.JsonProperty;
import java.util.HashMap;
import java.util.Map;


/**
 * @Author: ZD
 * @Date: 2023/8/25
 */
public class BidResultJson {
    @JsonProperty("项目编号")
    //@SerializedName("项目编号")
    public BidResultJsonString bidding_project_num;
    @JsonProperty("项目名称")
    //@SerializedName("项目名称")
    public BidResultJsonString bidding_project_name;
     // 获取未知字段的映射
    public Map<String, BidResultJsonString> json_other_fields = new HashMap<>();


    @JsonAnySetter
    public void setUnknownField(String name, BidResultJsonString value) {
        json_other_fields.put(name, value);
    }

    @JsonAnyGetter
    public Map<String, BidResultJsonString> getUnknownFields() {
        return json_other_fields;
    }
}

转换方式

	import com.alibaba.acm.shaded.org.codehaus.jackson.map.ObjectMapper;
	ObjectMapper objectMapper = new ObjectMapper();
	BidResultJson parse = objectMapper.readValue("json字符串", BidResultJson.class);


上一篇:Linux服务器配置jdk环境变量
下一篇:没有了
网友评论