使用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**
请发表您的意见,我是否有任何错误或是否有解决方案
答案 0 :(得分:0)
您可以尝试以下代码来获取与innerJSonKey
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readValue(jsonString, JsonNode.class);
JsonNode innerNode = rootNode.get("Key2").get("innerJSonKey");