如何将JSON字符串转换成实体对象,实现类似@JsonProperty的功能?

2026-04-19 11:322阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计289个文字,预计阅读时间需要2分钟。

如何将JSON字符串转换成实体对象,实现类似@JsonProperty的功能?

要求:将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);


如何将JSON字符串转换成实体对象,实现类似@JsonProperty的功能?

本文共计289个文字,预计阅读时间需要2分钟。

如何将JSON字符串转换成实体对象,实现类似@JsonProperty的功能?

要求:将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);


如何将JSON字符串转换成实体对象,实现类似@JsonProperty的功能?