1.问题:目前输出参数为指定的对象转JSONString,我们需要增加输出参数的其他值,并且该对象存在多个值,以逗号分开的。
代码:
eventEntity.setOutputParam(JSONObject.toJSONString(replyDto.getData()));
2.解决办法:
①找到replyDto.getData()的来源,发现是从upDto.getParams()中获取,并且params是Map<String, Object> params,所以我们可以将此Map进行循环遍历,比较key和我们要加入的整体结构中的identifier,相同就break,进行下一次比较,然后将来源中的value用我们加入的结构中的一个字段来存储该value,最后返回我们加入的结构即可。
代码:
List<ParamSpec> outputData = new ArrayList<>(); eventSpec.getOutputData().forEach(e -> { for (String key : upDto.getParams().keySet()) { if (key.equals(e.getIdentifier())) { e.setValue(String.valueOf(upDto.getParams().get(key))); break; } } outputData.add(e); }); eventEntity.setOutputParam(JSON.toJSONString(outputData));