使用FastJson将JSON格式数组字符串转换成JSON数组对象。
在项目进行中,数据库中一个字段需要存储多条数据,所以率先考虑到JSON数组格式的数据,但是在处理中出现无法转成JSON,一直处于报错状态,考虑将实体类中的变量转换成Object类型之后,可以正常转换JSON。
private Object steps;
List<Flow> flows = service.findAllFlow(page * offset,offset);
//声明一个JSONArray 用于转成json数组对象
JSONArray jsonArray = JSONArray.parseArray("[{\"name\":\"123\"},{\"name\":\"123\"}]");
flows.get(6).setSteps(jsonArray);
response.put("code",1);
response.put("msg","查询成功");
response.put("data",flows);
return JSON.toJSONString(response);
一开始作者使用的String类型的变量接收,不是在返回数据中持续出现反斜杠,就是直接fastJSON报错,无法转换,无法识别字符串。
经过这次尝试,成功转换成JSON数组对象,并且API返回数据中也不会出现反斜杠。
总结:不要直接或间接的使用String类型接收json数组格式,不然你可能不知道哪一步可能就会出现转义符,很是头疼,可以直接考虑使用Object类型的变量对json格式进行一系列的操作。
数据库中字段使用的是text