Java 后端接受前端的嵌套 json 数据,并写入数据库

前言

Java后端接受前端传来的 json 数据,并写入数据库。

如果前端传来的是嵌套的 json 数据,则不能直接写入数据库。

那该怎么办呢?

解决办法

在后端使用两个 model,如 DTO 和 VO ,其中 VO 用来接受前端数据,DTO 用来写入数据库。

在 VO 中,嵌套json 字段的返回类型定义为 JSONObject;在 DTO 中,对应字段的返回类型定义为 String,因为只有 String 可以顺利写入数据库。

使用 VO 接受前端传来的数据,并将对应的 json 字段,转为 String,set 到 DTO 中,核心代码如下:

...

public int store(VO vo){
  JSONObject spec = vo.getSpec();
  String string = JSONObject.toJSONString(spec);
  DTO dto = vo2Dto(vo);
  dto.setSpec(string);
  return baseMapper.insert(dto);
}

public DTO vo2Dto(VO vo){
  ...
}

每天学习一点点,每天进步一点点。

posted @ 2021-09-03 14:02  爱吃西瓜的番茄酱  阅读(1599)  评论(0编辑  收藏  举报