<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.8.5</version> </dependency>
public class TestMain { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub List<Role> listRole = new ArrayList<Role>(); Role role1 = new Role(); role1.setRoleType("admin"); role1.setLoginTime("2015-12-7"); Role role2 = new Role(); role2.setRoleType("test"); role2.setLoginTime("2015-12-8"); listRole.add(role1); listRole.add(role2); User user = new User(); user.setName("abstract"); user.setPass("password"); user.setRole(listRole); // 拼装 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); System.out.println(json); // 解析 JsonNode node = mapper.readTree(json); System.out.println("name: " + node.path("name").asText()); JsonNode roleNode = node.path("role"); for(int i=0;i<roleNode.size();i++){ System.out.println("roleType: " + mapper.readTree(roleNode.get(i).toString()).path("roleType").asText()); } } } class User{ private String name; private String pass; private List<Role> role; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public List<Role> getRole() { return role; } public void setRole(List<Role> role) { this.role = role; } } class Role{ private String roleType; private String loginTime; public String getRoleType() { return roleType; } public void setRoleType(String roleType) { this.roleType = roleType; } public String getLoginTime() { return loginTime; } public void setLoginTime(String loginTime) { this.loginTime = loginTime; } }
输出为:
{"name":"abstract","pass":"password","role":[{"roleType":"admin","loginTime":"2015-12-7"},{"roleType":"test","loginTime":"2015-12-8"}]} name: abstract roleType: admin roleType: test
还有很多功能,比如忽略null等,指定哪些属性不显示等具体参考官方api http://wiki.fasterxml.com/JacksonJavaDocs
相关推荐
本文将详细介绍如何使用Jackson库进行JSON与Java对象的互转。 首先,我们需要引入Jackson库的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.fasterxml.jackson.core</groupId> ...
总的来说,XML和JSON互转工具在处理跨平台数据交换、数据存储和格式化显示时起着关键作用。`JsonTest`和`JsonEasyView`类提供了这样的便利,帮助开发者更高效地管理和操作这两种数据格式。理解并掌握这些工具类的...
在进行JSON与Java对象互转时,需要注意的是,Java对象的属性必须有对应的getter和setter方法,因为`JSONObject`依赖于Java的反射机制来读取和设置属性。此外,`JSONObject`在处理枚举类型时可能需要特别处理,通常会...
- **XML与JSON互转**:Jackson还支持XML与JSON之间的转换,通过`jackson-dataformat-xml`模块实现。 - **流式处理**:对于处理大量数据时,Jackson提供了流式API,可以有效减少内存消耗。 - **类型安全的POJO操作*...
这篇博文《xml与json互转》可能详细探讨了这一主题,虽然具体内容未给出,但我们可以基于常规知识进行深入讲解。 XML和JSON的转换通常涉及到解析和序列化两个过程。解析是将XML或JSON字符串转化为可操作的数据结构...
当你从服务器获取或从文件读取到一个JSON字符串时,可以使用`JSONObject`将其解析为可操作的对象。以下是如何进行解析的示例: ```java import net.sf.json.JSONObject; String jsonString = "{\"name\":\"张三\",...
1. **JSON与Java对象的互转**: - JSON对象可以映射为Java对象,如HashMap、ArrayList等。JSON字符串到Java对象的转换通常通过反序列化实现,而Java对象到JSON字符串的转换则称为序列化。 - json-lib库提供了一套...
在Java中,我们经常需要将JSON字符串与Map对象互相转换,以便处理数据。本篇文章将详细探讨使用Jackson库和json-lib库这两种流行的方式进行转换,并分析它们之间的差异。 **一、Jackson库** Jackson是Java开发的高...
该项目“json和java互转完整项目demo(jackson)”显然是一个使用Jackson库进行JSON与Java对象之间转换的示例项目。Jackson库的核心组件包括`ObjectMapper`,它是整个库的中心,负责JSON与Java对象之间的转换工作。 1...
本文将详细探讨Java中JSON与XML的互转,以及如何在实际开发中运用这些技术。 标题:“java json xml转换” 描述:“java版的json与xml之间的转换的实例demo” JSON和XML各有优缺点。JSON以其简洁、易于阅读和生成...
将JavaBean对象转换为JSON字符串,或者将JSON数据反序列化为JavaBean对象,能够方便地进行数据传输。在这个过程中,通常会用到一些第三方库,如`json-lib`,这是Java中常用的JSON处理库之一。下面我们将详细介绍这些...
本文将深入探讨如何通过自定义方法实现JSON与Map之间的互转,以及在实现过程中涉及的底层原理,特别是使用反射和递归的方法。 首先,我们要理解JSON和Map的基本概念。JSON是一种轻量级的数据交换格式,它允许我们以...
`Jackson2Map.java`这个文件很可能包含了一个使用Jackson库进行JSON与Map互转的示例代码。 Jackson库的核心类`com.fasterxml.jackson.databind.ObjectMapper`是进行对象映射的关键。它提供了`readValue()`和`...
在Java开发中,JSON字符串与Java对象之间的相互转换是常见的操作,特别是在网络通信、数据存储以及API接口设计等领域。 JSON字符串转Java对象: 在Java中,我们通常使用第三方库如Jackson、Gson、Fastjson等来实现...
JavaBean和JSON之间的转换在Java开发中非常...在实际开发中,除了`json-lib`之外,还有其他流行的JSON处理库,如Jackson、Gson和Fastjson等。每个库都有其特点和适用场景,开发者可以根据项目需求选择最适合的工具。
总结,JavaBean、Map和JSON之间的转换是Java开发中的基础操作,选择合适的库(如Jackson)能够简化这个过程。在实际项目中,理解这些转换对于处理数据交互和网络请求至关重要。通过使用这些工具,你可以轻松地在Java...
总结一下,Map和Object互转以及Map和JSON互转是Java Web开发中常见的需求。前者可以通过反射、Apache Commons BeanUtils或者Introspector类来实现,而后者则可以使用专门的JSON处理库如Gson、Jackson或Fastjson。...
- Jackson库的`ObjectMapper`类可以将Java对象直接序列化为JSON字符串,或者反序列化JSON字符串为Java对象。 - Gson库同样提供了类似的`toJson`和`fromJson`方法,方便地在Java对象和JSON字符串之间转换。 4. ...
本文将深入讲解如何在Java环境中将Java对象与JSON报文和XML报文进行转换,并讨论两者之间的互转。 首先,JSON以其简洁和易于解析的特性,成为了现代Web API首选的数据交换格式。它基于JavaScript语法,允许我们以...
JSON(JavaScript Object...总的来说,JSON转换JAR包是Java开发者处理JSON数据所必需的工具,它们简化了JSON和Java对象之间的互转过程,提高了开发效率。在实际开发中,选择哪个库取决于项目需求、性能要求和个人偏好。