String jsonstr = "{\"msg\":{\"head\":{\"version\":\"1.0\",\"bizcode\":\"1006\",\"senddate\":\"20140827\",\"sendtime\":\"110325\",\"seqid\":\"1\"},\"body\":{\"datalist\":\"wahaha\",\"rstcode\":\"000000\",\"rstmsg\":\"成功\"}}}";
ObjectMapper mapper = new ObjectMapper();
//允许出现特殊字符和转义符
mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true) ;
JsonNode root = mapper.readTree(jsonstr);
//path与get作用相同,但是当找不到该节点的时候,返回missing node而不是Null.
JsonNode msg = root.path("msg");
JsonNode head = msg.path("head");
JsonNode body = msg.path("body");
String bizcode = head.path("bizcode").asText();
String datalist = body.path("datalist").asText();
System.err.println(bizcode);
System.err.println(datalist);
System.err.println(root.path("msg").path("body").path("datalist").asText());
try {
ObjectMapper mapper = new ObjectMapper();
// 允许出现特殊字符和转义符
mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
// String jsonstr =
// "{\"msg\":{\"head\":{\"version\":\"1.0\",\"bizcode\":\"1006\",\"senddate\":\"20140827\",\"sendtime\":\"110325\",\"seqid\":\"1\"},\"body\":{\"datalist\":\"wahaha\",\"rstcode\":\"000000\",\"rstmsg\":\"成功\"}}}";
ObjectNode root = mapper.createObjectNode();
ObjectNode msg = mapper.createObjectNode();
ObjectNode head = mapper.createObjectNode();
head.put("version", "1.0");
head.put("bizcode", "1006");
head.put("senddate", "20140827");
head.put("sendtime", "110325");
head.put("seqid", "1");
ObjectNode body = mapper.createObjectNode();
body.put("datalist", "wahaha");
body.put("rstcode", "000000");
body.put("rstmsg", "成功");
msg.put("head", head);
msg.put("body", body);
root.put("msg", msg);
System.out.println(mapper.writeValueAsString(root));
} catch (Exception e) {
e.printStackTrace();
}