`

使用jackson-mapper-lgpl序列化和反序列化

    博客分类:
  • Java
阅读更多

在前面的博客中说明了json-lib如何序列化和反序列化。现在说明下jackson-mapper-lgpl (以下简称jackson)的用法。

jackson 官网:http://jackson.codehaus.org/

jackson 依赖的jar包:

 maven 依赖配置:

<!-- Json转化模块 -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-lgpl</artifactId>
			<version>1.9.9</version>
		</dependency>

 

使用jackson 序列化java对象,即把java对象转化json 字符串

@Test
	public void test_serialize2(){
		ObjectMapper mapper = new ObjectMapper();
		Class2 c=new Class2();
		List<Student>students=new ArrayList<Student>();
		Student student=new Student();
		Map<String, Object> attribute =new HashMap<String, Object>();
		attribute.put("p1", "v1");
		attribute.put("p2", "v2");
		student.setAttribute(attribute);
		students.add(student);
		student.setName("黄威");
		student.setHobby("Roller-Skating");
		c.setStudents(students);
		c.setClassName("计算机0705");
		
		String content;
		try {
			content = mapper.writeValueAsString(student);
			System.out.println(content);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

 运行结果:

{"addrr":null,"age":0,"name":"黄威","hobby":"Roller-Skating","attribute":{"p2":"v2","p1":"v1"}}

 

 

使用jackson 反序列化,即把json字符串或inputstream 还原为java对象

@Test
	public void test_reserialize(){
		String jsonInput = "{\"addrr\":{\"country\":\"中国\",\"state\":\"湖北省\",\"street\":\"清河\"},\"age\":25,\"hobby\":\"\",\"name\":\"黄威\"}";
		ObjectMapper mapper = new ObjectMapper();
		Student student;
		try {
			student = mapper.readValue(jsonInput, Student.class);
			System.out.println(student.getAddrr().getStreet());
			System.out.println(student.getName());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 运行结果:

清河
黄威

 

项目源码见附件

  • 大小: 4.2 KB
0
0
分享到:
评论

相关推荐

    jackson-core-1gpl、jackson-mapper-lgpl-1.9.13jar包

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。该库提供了高效、灵活且...这两个jar包的结合使用,可以满足大部分JSON序列化和反序列化的需求,大大简化了JSON数据在Java应用程序中的操作。

    springmvc-jackson-jar包集合

    6. `jackson-annotations-2.2.1.jar`:Jackson的注解模块,提供了许多用于标记Java类和字段以便进行JSON序列化和反序列化的注解,如`@JsonAutoDetect`、`@JsonProperty`等。 7. `jackson-module-jaxb-annotations-...

    Jackson需要的jar包(完整版)

    Jackson是Java世界里广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。Jackson的核心组件包括`jackson-databind`、`jackson-core`和`jackson-annotations`,这三个模块...

    jackson所需要的jar包

    Jackson是Java世界中一个非常流行的JSON处理库,它提供了丰富的API和高性能的序列化和反序列化功能。在Java应用程序中,特别是在Web服务或者需要与JSON格式数据交互的场景下,Jackson扮演着至关重要的角色。这里提到...

    spring4 mvc json配置jar包

    为了使Spring MVC能够处理JSON序列化和反序列化,我们需要引入一系列的Jackson库。这些库提供了强大的JSON解析和生成功能,使得Java对象可以方便地转换为JSON格式和从JSON字符串还原。 1. **Jackson库简介** ...

    Jackson 1.9.13 1X的最后一版

    2. **Jackson-mapper-asl-1.9.13.jar** 和 **jackson-mapper-lgpl-1.9.13.jar**:这两个文件是对象/关系映射(ORM)模块,扩展了Jackson-core的功能,使得能够序列化和反序列化复杂的Java对象。它们支持注解,允许...

    fastjson和jackson资源jar包

    这两个库都提供了高效的JSON解析和序列化功能,但在实现方式和特性上有所区别。 1. Fastjson: - Fastjson是阿里巴巴开源的一个高性能的JSON库,它由Java编写,设计目标是速度和内存使用效率。Fastjson可以将Java...

    web_nav

    综合以上信息,"web_nav"可能是一个使用Java编写的Web应用的一部分,其中可能涉及了Guava库来优化代码,利用JAXB处理XML数据交换,使用Jackson处理JSON序列化和反序列化,并可能通过javassist实现了一些动态字节码...

    SSM整合redis.docx

    此外,还需要一个序列化库,如`jackson-mapper-lgpl`,因为Redis默认不支持Java对象的存储,需要将对象转换为字节流。 ```xml &lt;!-- jedis --&gt; &lt;groupId&gt;redis.clients &lt;artifactId&gt;jedis &lt;version&gt;2.8.1 ...

    Spring MVC学习笔记之json格式的输入和输出

    值得注意的是,要确保客户端和服务器端处理JSON格式时,数据格式是一致的,这样才能正确地进行数据的序列化和反序列化操作。此外,使用JSON时,安全性也是需要关注的一个方面,防止诸如JSON注入等安全风险。

Global site tag (gtag.js) - Google Analytics