JAVA 数据库创建了对应关系,怎么根据key获取对应关系的值?

image.png
如题,我想做的功能是可配置化的。比如我的数据库会存上面content的一棵树到数据库。然后 比如vgmCutOff我配置成我数据库的字段是cut_off。betdNotic对应我数据库的字段是bet_notic。
那我怎么自动化把一个content的内容根据代码 转换成我要的dto??

阅读 2k
1 个回答

可以使用fastJSON,定义好自己的dto之后哦,JSON.parseObject(jsonStr, Dto.class)。
jar包:

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.66</version>
</dependency>

例如:json串如下,取content的内容:

{
  "content": {
    "vgmCutOff": "2020-03-30 16:00",
    "betdNotic": false
  }
}

定义一个content的dto。

public class ContentDTO {
  
  @JSONField(name = "vgmCutOff") // 由于json的key与字段名不对应,所以需要加注解。如果一样的话,就可以省略
  String cutOff; // cutOff对应数据库的cut_off字段
  boolean betdNotic; // betdNotic对应betd_notic
}

转换代码

String content = "{\"vgmCutOff\": \"2020-03-30 16:00\",\"betdNotic\":false}";
ContentDTO dto = JSON.parseObject(content, ContentDTO.class);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题