找了好久问题,
问题从reide取得值是object转为对象的时候报错了
在解释json的时候出现这个错误,直接看错误意思是解析的字符串不是以{开头的字符串。就是说不合法的json字符串。
报错的代码
Object o = redisUtil.getnode(nodeid);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(o);
//NodeData 是自己定义的实体
NodeData nodeData = JSONUtil.toBean(json, NodeData.class);
nodeVO.setStateId(nodeData.getStateId());
nodeVO.setValue(nodeData.getValue());
报错
A JSONObject text must begin with '{'
修改后的代码
Object o = redisUtil.getnode(nodeid);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(o);
int i = json.indexOf("{");
json = json.substring(i);
int p = json.lastIndexOf("}");
json = json.substring(i - 1, p + 1);
json = json.replaceAll("\\\\", "");
NodeData nodeData = JSONUtil.toBean(json, NodeData.class);
nodeVO.setStateId(nodeData.getStateId());
nodeVO.setValue(nodeData.getValue());