前言
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){
...
}
每天學習一點點,每天進步一點點。