json是一种轻量级的数据交换格式,被广泛使用。
当我们调用接口,一般返回一个json串。那么,怎么对这个json串进行解析呢?
private JsonNode parserStringToJsonNode(String jsonStr)
{
JsonNode jsNode = null;
try {
if(!jsonStr.trim().endsWith("}")){
jsonStr = jsonStr.substring(0, jsonStr.lastIndexOf("}") + 1);
}
jsNode = new JsonTypeMapper().read(new JsonFactory().createJsonParser(new StringReader(jsonStr)));
}catch (Exception e) {
log.error(new StringBuilder(128).append("Error: when parse, msg=").append(jsonStr), e);
jsNode=null;
}
return jsNode;
}
这样,我们就得到了一个jsonNode对象。通过JsonUtil的方法,就可以获得jsonNode里面的值。
eg:
JsonNode jsNode = parserStringToJsonNode(jsonStr);
int kk=JsonUtil.getJsonIntValue(jsNode.getFieldValue("kk"), -1);
用到的jar包:jackson-0.9.1.jar
方法二