pom.xml需要增加如下依赖:
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.9.1</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-lgpl</artifactId> <version>1.9.1</version> </dependency>
package com.zuidaima.json; import java.io.File; import java.io.IOException; import org.codehaus.jackson.JsonEncoding; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonGenerator; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonToken; import org.codehaus.jackson.map.JsonMappingException; public class JsonGeneratorAndParser { /** * @param args */ public static void main(String[] args) { try { JsonFactory jfactory = new JsonFactory(); /*** write to file ***/ JsonGenerator jGenerator = jfactory.createJsonGenerator(new File( "c:/user.json"), JsonEncoding.UTF8); jGenerator.writeStartObject(); // { jGenerator.writeStringField("name", "java牛"); // "name" : "java牛" jGenerator.writeNumberField("age", 29); // "age" : 29 jGenerator.writeFieldName("messages"); // "messages" : jGenerator.writeStartArray(); // [ jGenerator.writeString("msg 1"); // "msg 1" jGenerator.writeString("msg 2"); // "msg 2" jGenerator.writeString("msg 3"); // "msg 3" jGenerator.writeEndArray(); // ] jGenerator.writeEndObject(); // } jGenerator.close(); JsonParser jParser = jfactory.createJsonParser(new File( "c:/user.json")); // loop until token equal to "}" while (jParser.nextToken() != JsonToken.END_OBJECT) { String fieldname = jParser.getCurrentName(); if ("name".equals(fieldname)) { // current token is "name", // move to next, which is "name"'s value jParser.nextToken(); System.out.println(jParser.getText()); } if ("age".equals(fieldname)) { // current token is "age", // move to next, which is "name"'s value jParser.nextToken(); System.out.println(jParser.getIntValue()); // display 29 } if ("messages".equals(fieldname)) { jParser.nextToken(); // current token is "[", move next // messages is array, loop until token equal to "]" while (jParser.nextToken() != JsonToken.END_ARRAY) { // display msg1, msg2, msg3 System.out.println(jParser.getText()); } } } jParser.close(); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
Jackson是一个高效的JSON处理器,提供了多种方式来序列化和反序列化Java对象。它的核心库是`jackson-core`,提供基本的JSON处理功能,如流式API和树模型。`jackson-databind`扩展了核心库,允许映射JSON到Java对象和...
总的来说,`org.json.JSONObject`是Java中处理JSON数据不可或缺的工具,它提供了简单易用的接口,使得JSON数据的处理变得直观和高效。在实际开发中,熟练掌握`JSONObject`的使用方法能极大地提高开发效率,并确保...
它包含了JSON流API,可以用来读取和写入JSON数据流。此外,它还提供了基本的JSON节点类型,如ObjectNode、ArrayNode等,以及JsonParser和JsonGenerator,这两个类分别用于解析JSON输入和生成JSON输出。 `jackson-...
这对于RESTful服务来说非常关键,因为它们通常需要将服务器端的Java对象转化为JSON格式,以便客户端可以理解和消费。 3. 支持StAX(Streaming API for XML) Jettison利用StAX进行XML的流式处理,这使得处理大量...
这通常涉及到引入Jackson库,压缩包中的`jackson-mapper-asl-1.8.8.jar`和`jackson-core-asl-1.8.8.jar`是Jackson 1.8.8版本的两个关键组件,它们分别提供了对象到JSON的映射和JSON的解析功能。要使Spring MVC支持...
Jackson JSON 转 Map 之科学计数法问题解决方案 Jackson 是一个流行的 ...通过启用 USE_BIG_DECIMAL_FOR_FLOATS 选项,我们可以解决 Jackson 将 JSON 转换为 Map 时的科学计数法的问题,从而确保数据的精度和正确性。
通过 org.codehaus.jackson.JsonParser读取,通过org.codehaus.jackson.JsonGenerator写入。 2) Tree Model 通过基于内存的树形结构来描述json数据,和 XML DOM类似。通过org.codehaus.jackson.map.ObjectMapper...
json数据解析ObjectMapper类需要使用的jar包 org.codehaus.jackson.map.ObjectMapper jackson-mapper-asl-1.9.13.jar
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比...
Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。Jackson-module-jsonSchema是Jackson生态中的一个附加模块,其主要功能是将Java对象转换为JSON ...
例如,`org.codehaus.jettison.json.JSONObject`类提供了创建和操作JSON对象的方法,而`org.codehaus.jettison.mapped.MappedXMLStreamWriter`则负责将Java对象转换为XML,进一步可以转换成JSON格式。 Maven作为...
`@RequestBody`和`@ResponseBody`依赖于Spring的核心组件ConversionService,它负责将JSON字符串解析为User对象,并将User对象转换为JSON响应。 总结起来,Spring 3.x中通过JSON进行前后端数据传输主要涉及以下几个...
《Json字符串与Object、...通过这些工具方法,开发者可以轻松地处理JSON数据,无论是从网络获取还是本地文件读取,或者将Java对象序列化为JSON格式。理解并熟练运用这些工具类,对于提升开发效率和代码质量都至关重要。
2. **jackson-databind**:这个模块是Jackson的核心,它扩展了core模块的功能,实现了对象到JSON和JSON到对象的映射。通过`@JsonProperty`、`@JsonInclude`等注解,可以方便地将Java对象转换为JSON格式,并能将JSON...
通过上述示例,我们可以看到 JSON 数据被成功地转换成了 Java Bean 对象,并且可以通过 Java Bean 的方法来获取各个字段的值。 #### 五、总结 本文详细介绍了如何将 JSON 数据转换为 Java Bean,包括了所需库的...
Jackson fasterxml和codehaus的区别: ...Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 官网:http://wiki.fasterxml.com/JacksonHome 三个主要的模块: jackson-co
org.codehaus.jackson.mapper.jar,亲测可用的jar包!
它们提供了丰富的API来读写JSON的各种数据类型,如字符串、数字、对象和数组。 2. `ObjectMapper`:Jackson的标志性类,它是数据绑定的核心,可以将Java对象直接转换为JSON,反之亦然。通过`readValue()`和`...
标题 "org.codehaus.groovy-2.9.0.xx-201407142235-e44-RELEASE-updatesite.zip" 暗示了这是一个与Groovy编程语言相关的Eclipse插件的更新站点压缩包。这个版本号 "2.9.0" 表明这是该插件的2.9.0版,时间戳 ...
在Spring MVC中,Jackson库通常通过配置可以无缝集成,使得Controller方法可以直接返回Java对象,而Spring会自动将其转换为JSON响应。 `jackson-all-1.9.x.jar` 文件是Jackson库的旧版本,其中包含所有必要的模块,...