json转bean,并存进数据库
比如json格式为:
客户端传入参数为:String goodsEvaJson
goodsEvaJson ={"goodsEva":[{"evaContent":"我是评论内容","evaType":2,"goodsId":1},{"evaContent":"我是评论内容","evaType":2,"goodsId":1}],"orderNumber":1}
service层:
@Transactional
publicint addEevaluate(StringgoodsEvaJson){
List<TbGoodsEvaluate>tbGoodsEvaluates=newArrayList<>();
JSONObjectjsonBean= JSONObject.fromObject(goodsEvaJson); //最主要的代码(1)
Map<String,Class>classMap=newHashMap<String,Class>();//最主要的代码(2)
classMap.put("goodsEva", GoodsEva.class);//goodsEva 为 属性名称 最主要的代码(3)
GoodsEvaJsono=(GoodsEvaJson) JSONObject.toBean(jsonBean, GoodsEvaJson.class,classMap); //最主要的代码(4)
for(inti=0;i<o.getGoodsEva().size();i++){
TbGoodsEvaluategoodsEvaluate=newTbGoodsEvaluate();
goodsEvaluate.setEvaContent(o.getGoodsEva().get(i).getEvaContent());
goodsEvaluate.setEvaType(o.getGoodsEva().get(i).getEvaType());
goodsEvaluate.setGoodsId(o.getGoodsEva().get(i).getGoodsId());
goodsEvaluate.setOrderId(o.getOrderNumber());
goodsEvaluate.setCreateTime(newDate());
goodsEvaluate.setIsShow(0);
goodsEvaluate.setUserId(OperationContextHolder.getUserId());
tbGoodsEvaluates.add(goodsEvaluate);
}
intevaluate=tbGoodsEvaluateMapper.addEvaluate(tbGoodsEvaluates);
if(evaluate>0){
return1;
}
return0;
}
通过json生成相应的bean,我一般用这个网址去自动生成bean
bean:GoodsEvaJson
public class GoodsEvaJson {
private List<GoodsEva> goodsEva;
private Long orderNumber;
public void setGoodsEva(List<GoodsEva> goodsEva) {
this.goodsEva = goodsEva;
}
public List<GoodsEva> getGoodsEva() {
return goodsEva;
}
public void setOrderNumber(Long orderNumber) {
this.orderNumber = orderNumber;
}
public Long getOrderNumber() {
return orderNumber;
}
}
bean:GoodsEva
public class GoodsEva {
private String evaContent; //评论
private int evaType; //评论类型
private Long goodsId; //商品id
public void setEvaContent(String evaContent) {
this.evaContent = evaContent;
}
public String getEvaContent() {
return evaContent;
}
public void setEvaType(int evaType) {
this.evaType = evaType;
}
public int getEvaType() {
return evaType;
}
public void setGoodsId(Long goodsId) {
this.goodsId = goodsId;
}
public Long getGoodsId() {
return goodsId;
}
}