1.Maven Dependency
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.fool.jackson</groupId> <artifactId>Jackson</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Jackson</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>
2.Project Directory
3.User.java
package org.fool.jackson; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; public class User { private String name; private int age; private List<String> msgs; public User() { } public User(String name, int age, List<String> msgs) { this.name = name; this.age = age; this.msgs = msgs; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<String> getMsgs() { return msgs; } public void setMsgs(List<String> msgs) { this.msgs = msgs; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }
4.Java Object To Json
Convert an “user” object into JSON formatted string, and save it into a file “user.json“.
package org.fool.jackson; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JavaObjectToJson { public static void main(String[] args) { List<String> msgs = new ArrayList<>(); msgs.add("msg1"); msgs.add("msg2"); msgs.add("msg3"); User user = new User("Hero", 30, msgs); ObjectMapper mapper = new ObjectMapper(); try { // convert user object to json string, and save to a file mapper.writeValue(new File("user.json"), user); // display to console System.out.println(mapper.writeValueAsString(user)); // this is Jackson 1.x API only // System.out.println(mapper.defaultPrettyPrintingWriter() // .writeValueAsString(user)); // for Jackson 2.x use the line below instead of the one System.out.println(mapper.writer().withDefaultPrettyPrinter() .writeValueAsString(user)); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (JsonProcessingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
结果 — JavaObjectToJson
从图中可以看出,下面的JSON格式输出更加pretty,但是Jackson1.x和Jackson2.x的Pretty Print的API是不一样的
Jackson 1.x的Pretty Print 采用如下格式
System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(user));
Jackson 2.x的Pretty Print 采用如下格式
System.out.println(mapper.writer().withDefaultPrettyPrinter().writeValueAsString(user));
我这里由于使用的是Jackson 2.x的API,所以采用下面一种方法。
5.Json To Java Object
Read JSON string from file “user.json“, and convert it back to Java object.
package org.fool.jackson; import java.io.File; import java.io.IOException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonToJavaObject { public static void main(String[] args) { ObjectMapper mapper = new ObjectMapper(); try { // read from file, convert it to user class User user = mapper.readValue(new File("user.json"), User.class); // display to console System.out.println(user); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
结果 — JsonToJavaObject
相关推荐
2. **数据解析和序列化**:为了处理从网络获取的数据,基础库通常会集成Gson、Jackson或Fastjson等工具,将JSON字符串转化为Java对象,方便进一步处理。 3. **数据存储**:可能包含SQLite数据库操作接口,用于持久...
Intel64和IA-32架构是英特尔公司开发的两种微处理器架构。IA-32架构,也就是常说的x86架构,是在1978年推出的32位微处理器架构,是英特尔早期的成功产品。而Intel 64架构,也称为x86-64或AMD64(因为AMD也参与开发)...
3. **JSON Primitive Values <-> Java Basic Types** - JSON支持的基本类型包括数字、布尔值、字符串等,这些可以直接映射到Java的基本类型或包装类,如`int`、`Integer`、`boolean`、`Boolean`、`String`等。 4. *...
这两种库都提供了丰富的注解,如`@Expose`(Gson)或`@JsonProperty`(Jackson),来控制哪些字段参与序列化和反序列化。 4. **SOAP消息封装**: 在SOAP协议中,自定义类可以通过创建一个特殊的包装类来传递。包装...
这个"ajax basic.pdf"教程很可能是介绍以上这些概念和实践的详细指南,对于初学者来说,理解并掌握这些知识,将有助于构建基于Ajax的Web应用。通过学习和实践,你可以创建更动态、响应更快的网页,提供更好的用户...
这里使用了 `GetResultsFromJons()` 函数,虽然未提供完整实现,但通常会涉及使用JSON解析库(如Jackson或Gson)将JSON字符串转化为Java对象,如JSONArray: ```java public static JSONArray GetResultsFromJons...
杰克逊(Jackson)数据映射器jar。 ## 1。 RESTful网址 使用jersey或spring构建RESTful Web服务。 如果您不知道如何构建Web服务,请参阅我以前的 ## 2。 泽西岛核心客户罐 从maven存储库jar文件或使用以下maven...
使用Gson或Jackson解析JSON响应,提高数据处理效率;利用`OkHttp`的缓存机制,减少不必要的网络流量。 综上所述,`HttpUtils`这个示例涵盖了网络请求的基本要素,包括认证、请求方法、重试策略,以及对OkHttp的模仿...
```basic if (A ) { if (A ) { print A; } else { print C; } } else { if (B ) { print B; } else { print C; } } ``` 这段代码实现了同样的功能,但没有使用GOTO,逻辑更加清晰。 2. **程序段的...
软件开发方面,提到了各种编程语言和技术,包括C++、Java、Visual Basic、Visual C++、Jackson-Warnier、CASE(计算机辅助软件工程)、DFDD(数据流设计图)、UML(统一建模语言)、HIPO(层次输入流程图)、ERD...
Jackson 2 API Java JSON Web Token (JJWT) Plugin Javadoc Plugin JavaScript GUI Lib: ACE Editor bundle plugin JavaScript GUI Lib: Handlebars bundle plugin JavaScript GUI Lib: Moment.js bundle plugin ...
15. 程序设计语言:高级语言、低级语言和中级语言是常见的程序设计语言,PASCAL、VISUAL BASIC、C++等是高级语言,而汇编语言是低级语言。 16. 软件测试方法:白盒测试方法和黑盒测试方法是两种常见的软件测试方法...
msvbvm60.dll是Microsoft Visual Basic Virtual Machine (VBVM) 的6.0版本动态链接库文件,它是许多基于Visual Basic 6.0开发的应用程序所依赖的关键组件。当你的计算机上缺少这个文件时,可能会导致某些软件无法...
2. `jackson-databind-2.9.8.jar`:Jackson是JSON处理库,`databind`模块实现了将Java对象映射到JSON和反向映射的功能,对于Elasticsearch的数据导入和导出非常关键。 3. `bboss-util-5.5.0.jar`和`bboss-...
- Jackson:可能是指软件开发方法之一,比如Jackson Structured Programming。 - Warnier:指的是Warnier图,一种用于程序设计的流程图。 - UML:统一建模语言,是一种用于软件系统分析和设计的标准图表表示法。 ...
在Java中,我们通常使用Jackson、Gson或org.json库来解析JSON。 首先,我们需要导入相关的库。在这个例子中,我们使用的是org.json库,所以要在项目中引入该库的依赖: ```xml <groupId>org.json <artifactId>...
PAD(程序分析图)和Jackson结构化编程也是在文件中提及的,它们是软件开发中用来分析程序逻辑的方法。 4. 软件工程中的设计技术:包括Warnier图和PDL(程序设计语言),以及DFD(数据流图)等,这些都是设计阶段...
3. **Jackson 方法论:**Jackson 方法论侧重于将数据结构的概念应用于软件设计,从而提高软件的结构清晰度。 4. **OMT 方法论:**OMT(Object Modeling Technique)是一种面向对象的建模技术,用于软件分析和设计阶段...
实验环境要求具备一定的硬件配置,如P4 2GHz CPU、512MB内存和20GB硬盘,以及相应的软件工具,如Windows XP、Visual C++、Visual Basic和Microsoft Office 2003。 实验内容包括: 1. 软件系统分析:选择题目进行...