`

jackson操作对象json互转

阅读更多
<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库进行JSON与Java对象的互转。 首先,我们需要引入Jackson库的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt; ...

    xml与json互转工具类

    总的来说,XML和JSON互转工具在处理跨平台数据交换、数据存储和格式化显示时起着关键作用。`JsonTest`和`JsonEasyView`类提供了这样的便利,帮助开发者更高效地管理和操作这两种数据格式。理解并掌握这些工具类的...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    在进行JSON与Java对象互转时,需要注意的是,Java对象的属性必须有对应的getter和setter方法,因为`JSONObject`依赖于Java的反射机制来读取和设置属性。此外,`JSONObject`在处理枚举类型时可能需要特别处理,通常会...

    Jackson 框架,轻易转换JSON

    - **XML与JSON互转**:Jackson还支持XML与JSON之间的转换,通过`jackson-dataformat-xml`模块实现。 - **流式处理**:对于处理大量数据时,Jackson提供了流式API,可以有效减少内存消耗。 - **类型安全的POJO操作*...

    xml与json互转

    这篇博文《xml与json互转》可能详细探讨了这一主题,虽然具体内容未给出,但我们可以基于常规知识进行深入讲解。 XML和JSON的转换通常涉及到解析和序列化两个过程。解析是将XML或JSON字符串转化为可操作的数据结构...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    当你从服务器获取或从文件读取到一个JSON字符串时,可以使用`JSONObject`将其解析为可操作的对象。以下是如何进行解析的示例: ```java import net.sf.json.JSONObject; String jsonString = "{\"name\":\"张三\",...

    使用json-lib将java对象转换成json字符串

    1. **JSON与Java对象的互转**: - JSON对象可以映射为Java对象,如HashMap、ArrayList等。JSON字符串到Java对象的转换通常通过反序列化实现,而Java对象到JSON字符串的转换则称为序列化。 - json-lib库提供了一套...

    json和map互转jackson和json-lib两种方式实现和区别

    在Java中,我们经常需要将JSON字符串与Map对象互相转换,以便处理数据。本篇文章将详细探讨使用Jackson库和json-lib库这两种流行的方式进行转换,并分析它们之间的差异。 **一、Jackson库** Jackson是Java开发的高...

    json和java互转完整项目demo(jackson)

    该项目“json和java互转完整项目demo(jackson)”显然是一个使用Jackson库进行JSON与Java对象之间转换的示例项目。Jackson库的核心组件包括`ObjectMapper`,它是整个库的中心,负责JSON与Java对象之间的转换工作。 1...

    java json xml转换

    本文将详细探讨Java中JSON与XML的互转,以及如何在实际开发中运用这些技术。 标题:“java json xml转换” 描述:“java版的json与xml之间的转换的实例demo” JSON和XML各有优缺点。JSON以其简洁、易于阅读和生成...

    javabean和json互转所需的6个包

    将JavaBean对象转换为JSON字符串,或者将JSON数据反序列化为JavaBean对象,能够方便地进行数据传输。在这个过程中,通常会用到一些第三方库,如`json-lib`,这是Java中常用的JSON处理库之一。下面我们将详细介绍这些...

    自定义方法实现msp和json互转(底层实现原理,绝对值)

    本文将深入探讨如何通过自定义方法实现JSON与Map之间的互转,以及在实现过程中涉及的底层原理,特别是使用反射和递归的方法。 首先,我们要理解JSON和Map的基本概念。JSON是一种轻量级的数据交换格式,它允许我们以...

    json和map互转的标准化实现

    `Jackson2Map.java`这个文件很可能包含了一个使用Jackson库进行JSON与Map互转的示例代码。 Jackson库的核心类`com.fasterxml.jackson.databind.ObjectMapper`是进行对象映射的关键。它提供了`readValue()`和`...

    JSON字符串和java对象的相互转换

    在Java开发中,JSON字符串与Java对象之间的相互转换是常见的操作,特别是在网络通信、数据存储以及API接口设计等领域。 JSON字符串转Java对象: 在Java中,我们通常使用第三方库如Jackson、Gson、Fastjson等来实现...

    javabean和json互转所需包

    JavaBean和JSON之间的转换在Java开发中非常...在实际开发中,除了`json-lib`之外,还有其他流行的JSON处理库,如Jackson、Gson和Fastjson等。每个库都有其特点和适用场景,开发者可以根据项目需求选择最适合的工具。

    javabean_map_string和json互转详细文档+例子

    总结,JavaBean、Map和JSON之间的转换是Java开发中的基础操作,选择合适的库(如Jackson)能够简化这个过程。在实际项目中,理解这些转换对于处理数据交互和网络请求至关重要。通过使用这些工具,你可以轻松地在Java...

    Java代码实现Map和Object互转及Map和Json互转

    总结一下,Map和Object互转以及Map和JSON互转是Java Web开发中常见的需求。前者可以通过反射、Apache Commons BeanUtils或者Introspector类来实现,而后者则可以使用专门的JSON处理库如Gson、Jackson或Fastjson。...

    XML、JAVA、JSON多种方式互相转换

    - Jackson库的`ObjectMapper`类可以将Java对象直接序列化为JSON字符串,或者反序列化JSON字符串为Java对象。 - Gson库同样提供了类似的`toJson`和`fromJson`方法,方便地在Java对象和JSON字符串之间转换。 4. ...

    json报文与XML互转

    本文将深入讲解如何在Java环境中将Java对象与JSON报文和XML报文进行转换,并讨论两者之间的互转。 首先,JSON以其简洁和易于解析的特性,成为了现代Web API首选的数据交换格式。它基于JavaScript语法,允许我们以...

    json转换jar包

    JSON(JavaScript Object...总的来说,JSON转换JAR包是Java开发者处理JSON数据所必需的工具,它们简化了JSON和Java对象之间的互转过程,提高了开发效率。在实际开发中,选择哪个库取决于项目需求、性能要求和个人偏好。

Global site tag (gtag.js) - Google Analytics