`
yaolinnan
  • 浏览: 58621 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

使用jackson处理json数据

 
阅读更多

Jackson是java中众多json处理工具的一个,比起常见的Json-lib,Gson要快一些。

jsckson官方地址:http://jackson.codehaus.org/

 

 

Jackson有三种处理方式:

Streaming API

  •     使用org.codehaus.jackson.JsonParser 进行读操作 , 使用org.codehaus.jackson.JsonGenerator 写操作
  •     Jackson Streaming API有点类似 Stax API

数据绑定   它允许我们把Json转换成Java对象,也可以把Java对象转换成Json对象

  •    org.codehaus.jackson.map.ObjectMapper 知道如何把Json数据绑定成为(或者映射回)Java对象

树模型   通过进驻内存的树形结构来方便的访问Json数据

  •   和数据绑定方式类似,树模型也使用了 org.codehaus.jackson.map.ObjectMapper进行Json数据和Java对象的绑定;只是树形结构由 org.codehaus.jackson.map.JsonNode节点组成

 

 

从使用的角度看,上述三种方式可以归纳为

  • Streaming API是性能最优的(开销最小,最快的读写速度)  注:在我看来,操作最随心所欲的
  • 数据绑定是最方便使用的
  • 树形模型又是最灵活的

下载所需包:http://wiki.fasterxml.com/JacksonDownload

public class JacksonTest {
	

	public static void main(String[] args) {
		String json="{\"parmas\":[{\"table\":\"test\",\"name\":\"jack\",\"id\":\"25\"},{\"table\":\"mytable\",\"name\":\"hello\"}]}";
		JsonFactory f=new JsonFactory();
		try {
			JsonParser jp=f.createJsonParser(json);
			ObjectMapper mapper = new ObjectMapper();
			//json转换成java对象
			Data data=mapper.readValue(jp, Data.class);
			System.out.println(data.getParmas().size());
			System.out.println("---------------");
			List<Map<String,Object>> params=data.getParmas();
			if(params!=null&&params.size()>0){
				for(Map<String,Object> map:params){
					//遍历Map
					 Set<Map.Entry<String, Object>> set = map.entrySet();
				        for (Iterator<Map.Entry<String, Object>> it = set.iterator(); it.hasNext();) {
				            Map.Entry<String, Object> entry = (Map.Entry<String, Object>) it.next();
				            if(!"table".equals(entry.getKey()))
				            	System.out.println(entry.getKey() + "--->" + entry.getValue());
				        }
					System.out.println("-------------");
				}
			}
		} catch (JsonParseException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

public class Data {

	private List<Map<String,Object>> parmas;

	public List<Map<String, Object>> getParmas() {
		return parmas;
	}

	public void setParmas(List<Map<String, Object>> parmas) {
		this.parmas = parmas;
	}
	
	
}

 输出结果:

2
---------------
name--->jack
id--->25
-------------
name--->hello
-------------

 

精彩科技工作室
分享到:
评论

相关推荐

    Json 数据格式化 jackson

    使用Jackson处理JSON数据有以下关键知识点: 1. **序列化(Serialization)**:将Java对象转换为JSON字符串的过程。使用`ObjectMapper`的`writeValueAsString()`方法可以轻松实现。例如: ```java ObjectMapper ...

    jackson操作json和javabean示例

    总结起来,这个项目旨在帮助开发者理解并熟练使用Jackson处理JSON数据,无论是通过高效且低内存占用的流式API,还是通过方便的工具类和灵活的树型模型。通过实践这些示例,可以提升JSON操作的技能,使Java应用在处理...

    Jackson将json string转为Object,org.json读取json数组的实例

    标题中提到的两个关键词是Jackson和org.json,它们是Java中处理JSON数据的两个流行库。Jackson是基于Java的库,可以轻松地将JSON数据序列化或反序列化为Java对象。org.json是一个轻量级的库,也用于处理JSON数据。接...

    json转换工具jackson

    JSON(JavaScript Object Notation)是...通过深入理解和熟练应用这些概念,开发者可以高效地处理JSON数据,提升Java应用程序的性能和灵活性。对于进一步学习,可以参考Jackson官方文档、社区讨论以及相关的技术博客。

    spring使用jackson实现json

    而Jackson库则是处理JSON数据的利器,它能够帮助我们轻松地将Java对象序列化为JSON格式,以及将JSON反序列化为Java对象。在Spring框架中集成Jackson,可以实现高效且灵活的JSON数据交互。 一、Jackson简介 Jackson...

    Jackson 配置json解析器

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。标题中的“Jackson配置json解析器”指的是使用Jackson库来设置和管理JSON数据的解析过程。在这个...

    JSON数据处理包

    标题提到的“JSON数据处理包”可能是一个集合,包含了处理JSON数据的Java库。在Java中,处理JSON的常见库有Gson、Jackson、org.json和Fastjson等。由于标签中提到了"JSONObject",我们可以推测这个处理包可能使用了...

    使用jackson完成json与java对象的互相转换实例

    Jackson的核心组件包括`ObjectMapper`,它是处理JSON的主要类,提供了丰富的功能,如序列化、反序列化、配置和类型转换等。 1. **序列化:Java对象到JSON** 要将一个Java对象转换为JSON字符串,我们可以使用`...

    Jackson JSON jar包

    Jackson JSON 是一个广泛使用的Java库,它为处理JSON数据提供了高效且灵活的工具。这个库由三个主要组件组成,这正是你压缩包中包含的三个jar文件:`jackson-databind-2.4.0.jar`、`jackson-core-2.4.0.jar` 和 `...

    使用jackson完成json与Java对象互转

    Jackson库是Java领域中处理JSON的利器,它提供了高效且灵活的API来实现JSON与Java对象之间的转换。本文将详细介绍如何使用Jackson库进行JSON与Java对象的互转。 首先,我们需要引入Jackson库的依赖。对于Maven项目...

    Java四大json库gson+fastjson+jackson+json-lib

    为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...

    java处理JSON数据

    总结,Java处理JSON数据涉及多个库,如Jackson、Gson和org.json,它们提供了不同的API来解析、创建、遍历和序列化/反序列化JSON。理解这些库的使用方式对于任何Java开发者来说都是至关重要的,特别是在处理Web服务和...

    jackson

    Jackson是Java领域中广泛使用的JSON库,它提供了一套高效、功能丰富的API和工具,用于序列化和反序列化...在导入JAR文件后,确保项目构建配置正确引用了这些依赖,这样就能顺利地在项目中使用Jackson处理JSON数据了。

    使用Jackson在Java中处理JSON

    总的来说,Jackson提供了一套强大的工具,使得在Java中处理JSON变得简单而高效。无论是简单的对象转换,还是复杂的数据结构,Jackson都有相应的解决方案。学习并熟练掌握Jackson的使用,对于提升Java开发中的JSON...

    CXF利用Json格式传输对象

    以下是一个简单的例子,展示了如何在CXF服务端使用Jackson处理JSON数据: ```java @Path("/example") public class MyResource { @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType....

    jackson 对象json字符串数组集合互转

    在标题“Jackson对象json字符串数组集合互转”中,提到的核心概念是Jackson如何处理JSON字符串与Java集合(如List、Array等)之间的转换。下面将详细解释这一过程以及涉及的相关知识点。 1. JSON与Java对象映射: ...

    jackson所需jar包springmvc中稳定版

    本压缩包“jackson所需jar包springmvc中稳定版”包含了运行Spring MVC项目并使用Jackson处理JSON数据所需的稳定版本的Jackson库。这个版本经过精心选择,与Spring 4.1.6版本兼容,这意味着它们可以无缝协作,提供...

    Json字符应用的例子

    接下来,我们将通过一个具体的例子来展示如何使用Jackson处理JSON数据。假设我们有一个用户类`User`: ```java public class User { private String name; private int age; private String email; // 构造...

    Jackson 框架,轻易转换JSON(转)

    Jackson框架是Java开发中用于处理JSON数据的强大工具,由FasterXML公司开发并维护。它提供了高效的序列化和反序列化功能,使得JSON与Java对象之间的转换变得轻而易举。在本文中,我们将深入探讨Jackson框架的核心...

    SpringBoot处理JSON数据示例代码

    在Spring Boot框架中,处理JSON...在实际开发中,你可能还需要处理错误、验证输入数据、使用模型绑定等功能,这些都是Spring Boot为处理JSON数据提供的强大工具。通过这种方式,你可以轻松构建高效、可扩展的REST服务。

Global site tag (gtag.js) - Google Analytics