Jackson vs Simple Json Parser

时间:2014-11-26 08:47:42

标签: java json jackson

使用Simple JSONParser将字符串解析为JSONObject,并且没有问题。后来听说jackson解析器,与Simple JSONParser相比似乎更快。但问题是如果在jsonobject中有一个jsonobject,在通过Jackson解析器解析后,无法提取内部jsonobject,这在Simple JSONParser中并非如此,而且非常容易。

例如:{“Key1”:“Value1”,“Key2”:{“innerJSonKey”:“innerJSonValue”}}这是使用toString()转换为String的jsonobject。

JSON简单

JSONParser jp = new JSONParser();

JSONObject jo = (JSONObject)jp.parse(jsonString);

JSONObject innerjson = (JSONObject)jo.get("innerJSonKey"); -- this pretty much works

JACKSON

ObjectMapper mapper = new ObjectMapper();

JSONObject jo = mapper.readValue(jsonString,JSONObject.class);

JSONObject innerjson = (JSONObject)jo.get("innerJSonKey"); -- **But this step is failing**

请发表您的意见,我是否有任何错误或是否有解决方案

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码来获取与innerJSonKey

对应的值
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readValue(jsonString, JsonNode.class);
JsonNode innerNode = rootNode.get("Key2").get("innerJSonKey");