ObjectMapper工具包

ObjectMapper工具包

  • ObjectMapper类,是jackson包下一个类,java针对处理对象与json之间关系转换用的
  • 需要引入jar包
import java.io.IOException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
  • 对应maven依赖
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.8.3</version>
        </dependency>
  • 封装对象User
package com.entity;

import java.io.Serializable;

public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    private String userName;
    private String age;
    private String sex;
    private String email;
    private String phone;

    public User() {
        super();
    }

    public User(String userName, String age, String sex, String email, String phone) {
        super();
        this.userName = userName;
        this.age = age;
        this.sex = sex;
        this.email = email;
        this.phone = phone;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "User{" +
                "userName='" + userName + '\'' +
                ", age='" + age + '\'' +
                ", sex='" + sex + '\'' +
                ", email='" + email + '\'' +
                ", phone='" + phone + '\'' +
                '}';
    }
}
  • ObjectMapper 对象预处理
public static ObjectMapper mapper = new ObjectMapper();
    //涉及到一下问题需要预处理,否则直接在引用时new new ObjectMapper();即可
    static {
        // 转换为格式化的json
        mapper .enable( SerializationFeature.INDENT_OUTPUT);

        // 如果json中有新增的字段并且是实体类类中不存在的,不报错
        mapper .configure( DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    }
  •  ObjectMapper -> write (写)
//将对象信息写入指定文件
mapper.writeValue(new File("C:\\Users\\Chyb\\Desktop\\新建文本文档.txt"), user);
//将对象信息写到控制台
mapper.writeValue(System.out, user);
//将Map对象转换为JSON字符串(对象为Object对象,均可以转换为JOSN串)
String str = mapper.writeValueAsString( map )
String str = objectMapper.writeValueAsString( list );
//将对象转换为JSON串,依赖于对象中封装的get、set方法(没有get、set方法会报JSON转换异常)
String userJSON = mapper.writeValueAsString( user );
//将对象转换为byte数组
byte[] bytes = objectMapper.writeValueAsBytes( u );
//如果转换的对象中有日期元素,在mapper对象中填装时间格式化属性,那么接下来用mapper对下对象转换过的对象,转换后时间元素会被格式化,如果在填装时间格式化属性之前则不会格式化生效
mapper.setDateFormat( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
  •  ObjectMapper -> read (读)
//读取JSON数据转换实体对象,依赖于实体对象的无参构造方法,无参构造方法不存在则会报JSON序列化异常
User u = mapper.readValue( userJSON, User.class );
//读取文件内容,转换为实体对象
User fileUser = objectMapper.readValue( new File( "C:\\Users\\Chyb\\Desktop\\新建文本文档.txt" ), User.class );
//读取文件内容,转换为Map对象
Map map = objectMapper.readValue( new File( "C:\\Users\\Chyb\\Desktop\\新建文本文档.txt" ), Map.class );
//读取byte数组,填装至实体对象
User user = objectMapper.readValue( bytes, User.class );

 chenyb 随笔记录,方便自己使用

2018-10-30

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ObjectMapper是一个非常常用的Java库,用于将Java对象和JSON数据之间进行转换。您可以在以下网址下载ObjectMapperjar包: https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind 在该网站中,您可以找到最新版本的ObjectMapper库,同时也可以找到该库所需的其他依赖库。您可以直接下载jar包并将其添加到您的项目中,或者使用Maven等构建工具自动下载并添加到项目中。 ### 回答2: ObjectMapper是一个操作Java对象和JSON数据格式的开源Java库。它可以将Java对象序列化成JSON字符串,也可以将JSON字符串转换为Java对象。ObjectMapper是Jackson项目中最常用的库之一。 要下载ObjectMapperjar包,首先我们需要访问官方网站https://github.com/FasterXML/jackson-databind/,然后点击“Releases”选项卡。在这里,我们可以看到所有发布版本的列表。选择我们希望下载的版本,然后点击它。例如,我们想下载2.12.4版本的ObjectMapper。 在选择的发布版本的页面,我们可以看到一些解决方案,例如在Maven中使用ObjectMapper的依赖项,以及下载JavaDoc和源代码。找到“Assets”部分,然后下载jar包。 如果您使用Maven来构建您的项目,你可以简单地在pom.xml文件中添加如下依赖: ``` <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.4</version> </dependency> ``` 这将自动下载所需的jar文件并将其添加到您的构建路径中。 总之,ObjectMapper是一个非常有用的库,可以帮助我们轻松地将Java对象转换为JSON格式或反之。无论您是直接下载jar文件还是使用Maven将其导入到项目中,ObjectMapper的使用都非常简单,易于掌握。 ### 回答3: ObjectMapper是一个Java类库,能够将Java对象映射为JSON,或者将JSON映射为Java对象。ObjectMapper可以实现JSON和Java对象之间的互相转换,对于Java开发中的数据传输和持久化操作非常方便。 要使用ObjectMapper,需要先下载对应版本的jar包并引用到项目中。ObjectMapperjar包可以从Maven仓库、GitHub或其他第三方网站下载。 从Maven仓库下载ObjectMapper: 1. 访问Maven中央仓库网站:https://search.maven.org/ 2. 搜索“jackson-databind” 3. 选择需要的版本并下载jar包 4. 将下载的jar包引用到项目中 从GitHub下载ObjectMapper: 1. 访问ObjectMapper的GitHub网站:https://github.com/FasterXML/jackson-databind 2. 点击“Releases”的选项卡,选择需要的版本并下载相应的jar包 3. 将下载的jar包引用到项目中 从第三方网站下载ObjectMapper: 1. 在浏览器中搜索“jackson-databind下载” 2. 选择可信任的第三方网站下载jar包 3. 将下载的jar包引用到项目中 需要注意的是,使用ObjectMapper需要引入其他依赖包,如jackson-core、jackson-annotations等。可以使用Maven管理依赖包,也可以手动下载并引用到项目中。 ObjectMappr的jar包下载及引用,是Java开发中常见的操作之一,可根据具体的需求选择相应的下载方式,确保jar包的版本正确,并正确认真引用到项目中,以便于便捷地使用ObjectMapper进行JSON和Java对象之间的转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值