依然是使用ObjectMapper,可以以类似读取DOM的方式读取JSON,请看例子:
package com.jingshou.jackson; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.Iterator; import org.apache.commons.io.IOUtils; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTest4 { public static void main(String[] args) throws MalformedURLException, IOException { String url = "http://m.weather.com.cn/data/101210101.html"; String json = IOUtils.toString(new URL(url)); System.out.println(json); // Get rootNode and weather node; ObjectMapper m = new ObjectMapper(); JsonNode rootNode = m.readTree(json); JsonNode weaNode = rootNode.get("weatherinfo"); System.out.println(weaNode); System.out.println(weaNode.get("city")); System.out.println("***************************************"); // Use Iterator to traverse to tree Iterator<String> keys = weaNode.fieldNames(); while(keys.hasNext()){ String fieldName = keys.next(); System.out.println(fieldName + ": " + weaNode.get(fieldName).textValue()); } } }
运行结果:
{"weatherinfo":{"city":"杭州","city_en":"hangzhou","date_y":"2014年1月12日","date":"","week":"星期日","fchh":"11","cityid":"101210101"......} "杭州" *************************************** city: 杭州 city_en: hangzhou date_y: 2014年1月12日 date: week: 星期日 fchh: 11 cityid: 101210101 temp1: 5℃~0℃ temp2: 5℃~0℃ temp3: 6℃~-2℃ ........
以下是新建以及更新Tree Model的例子:
package com.jingshou.jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; public class JacksonTest5 { public static void main(String[] args) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); JsonNode rootNode = mapper.createObjectNode(); // will be of type ObjectNode ((ObjectNode) rootNode).put("name", "jingshou"); ((ObjectNode) rootNode).put("id", 523); ((ObjectNode) rootNode).put("age", 30); System.out.println(rootNode); String json = mapper.writeValueAsString(rootNode); System.out.println(json); ((ObjectNode) rootNode).remove("id"); System.out.println(rootNode); } }
运行结果:
{"name":"jingshou","id":523,"age":30} {"name":"jingshou","id":523,"age":30} {"name":"jingshou","age":30}
参考文章:
- http://www.studytrails.com/java/json/java-jackson-json-tree-parsing.jsp
- http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html
- http://wiki.fasterxml.com/JacksonTreeModel
本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2003112
相关推荐
jackson-annotations-2.0.0.jar jackson-core-2.0.0.jar jackson-databind-2.0.0.jar json-lib-2.4-jdk15.jar
jackson json jackson json jackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson json
前一段工作中总会遇到使用Java处理JSON的情况,大部分都使用的是开源工具Jackson实现的。 因此总结一下发上来,希望对看到的人有所帮助。
下面小编就为大家带来一篇Jackson将json string转为Object,org.json读取json数组的实例,具有很好的参考价值,希望对大家有所帮助
Jackson JSON 三个jar包,Jackson JSON是一个非常方便强大的JSON框架,使用其让我们的开发游刃有余。
spring使用jackson实现json
赠送jar包:jackson-jaxrs-json-provider-2.7.8.jar; 赠送原API文档:jackson-jaxrs-json-provider-2.7.8-javadoc.jar; 赠送源代码:jackson-jaxrs-json-provider-2.7.8-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:json4s-jackson_2.11-3.2.11.jar; 赠送原API文档:json4s-jackson_2.11-3.2.11-javadoc.jar; 赠送源代码:json4s-jackson_2.11-3.2.11-sources.jar; 赠送Maven依赖信息文件:json4s-jackson_2.11-...
NULL 博文链接:https://gerrard-ok.iteye.com/blog/2017340
JSON完全独立与编程语言,使用文本格式保存。JSON的数据格式是名/值对,其中值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) null 更多关于...
使用jackson完成json与java对象的互相转换实例
Json 数据格式化 jackson
使用Tree Model,通过JsonNode处理单个Json节点 使用databind模块,直接对Java对象进行序列化和反序列化 通常来说,我们在日常开发中使用的是第3种方式,有时为了简便也会使用第2种方式,比如你要从一个很大的Json...
json 所需要的jackson-annotations-2.4.0.jar,jackson-core-2.4.2.jar, jackson-databind-2.4.2.jar,jackson-mapper-asl-1.9.11.jar
Java中,使用jackson完成json与Java对象互转
目前维护的产品使用jackson处理json,现整理一下jackson相关资料,希望对初次接触jackson的新手有所帮助。 jackson主页: http://jackson.codehaus.org/ jackson document: ...
赠送jar包:json4s-jackson_2.12-3.5.3.jar; 赠送原API文档:json4s-jackson_2.12-3.5.3-javadoc.jar; 赠送源代码:json4s-jackson_2.12-3.5.3-sources.jar; 赠送Maven依赖信息文件:json4s-jackson_2.12-3.5.3....
赠送jar包:jackson-jaxrs-json-provider-2.7.8.jar; 赠送原API文档:jackson-jaxrs-json-provider-2.7.8-javadoc.jar; 赠送源代码:jackson-jaxrs-json-provider-2.7.8-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:json4s-jackson_2.12-3.5.3.jar; 赠送原API文档:json4s-jackson_2.12-3.5.3-javadoc.jar; 赠送源代码:json4s-jackson_2.12-3.5.3-sources.jar; 赠送Maven依赖信息文件:json4s-jackson_2.12-3.5.3....
json_jackson_junit_demo json 与 bean list map 相互转换