A JSONObject text must begin with ‘{‘报错解决
找了好久问题, 问题从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());
下一篇:
python继承,看这篇就够了