ObjectMapper json转换

objectMapper json转换

maven引入

jackson-databind 

object -> json

 mapper.writeValueAsString(obj);

json -> object

mapper.readValue(json,valueType);
jsonUtil
public class JSONUtil {
    private static ObjectMapper objectMapper=new ObjectMapper();
    public static String  toJson(Object obj1){
        try {
            return objectMapper.writeValueAsString(obj1);
        } catch (JsonProcessingException e) {
            System.out.println("json转换异常");
        }
        return null;
    }

    public static Object parseObject(String jsonStr,Class targetClass){
        try {
           return   objectMapper.readValue(jsonStr,targetClass);
        } catch (IOException e) {
            System.out.println("json转换异常");
        }
        return null;
    }

}

JSONMain
public class JSONMain {
    public static void main(String[] args) {
        List<Student> studentList=new ArrayList<>();
        studentList.add(new Student(1L,"王磊"));
        studentList.add(new Student(2L,"张三"));
        String studentListJsonStr=JSONUtil.toJson(studentList);
        System.out.println("jsonStr:"+studentListJsonStr);
       List<Student> students= (List<Student>) JSONUtil.parseObject(studentListJsonStr,List.class);
        System.out.println("列表第一个student:"+students.get(0));
    }


    public static class Student{
        private String name;
        private Long id;

        public Student() {
        }

        public Student(Long id,String name) {
            this.name = name;
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", id=" + id +
                    '}';
        }
    }
}


输出结果

jsonStr:[{"name":"王磊","id":1},{"name":"张三","id":2}]
列表第一个student:{name=王磊, id=1}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ObjectMapper是一个Java库,用于将JSON字符串转换为Java对象或将Java对象转换JSON字符串。它提供了一组API,可以轻松地将JSON数据映射到Java对象中,并且可以处理各种复杂的JSON结构。使用ObjectMapper,您可以轻松地将JSON数据转换为Java对象,以便在应用程序中进行处理和操作。 ### 回答2: ObjectMapper是一个Java类库,它可以将JSON数据转换为Java对象或者将Java对象转换JSON数据。在Java中使用ObjectMapper进行JSON数据转换时,需要引入jackson-databind依赖包,因为ObjectMapper是jackson-databind的一部分。 在Java中,我们使用ObjectMapper进行JSON转对象的步骤如下: 1. 创建ObjectMapper对象 首先,我们需要创建一个ObjectMapper对象,这可以使用如下代码实现: ObjectMapper objectMapper = new ObjectMapper(); 2. 将JSON字符串转换为Java对象 要将JSON字符串转换为Java对象,我们需要使用ObjectMapper的readValue()方法,该方法接收两个参数:JSON字符串和要转换的Java对象类型。 例如,如果我们有一个JSON字符串: {"name": "张三", "age": 18} 我们可以使用以下方法将其转换为Java对象: String json = "{\"name\": \"张三\", \"age\": 18}"; Person person = objectMapper.readValue(json, Person.class); 其中,Person类是一个Java对象类型,它要求与JSON字符串格式相匹配。 3. 将Java对象转换JSON字符串 将Java对象转换JSON字符串也很简单,只需要使用ObjectMapperwriteValueAsString()方法,该方法接收一个Java对象参数,并返回与该对象相应的JSON字符串。 例如,如果我们有一个Person对象: Person person = new Person("李四", 20); 我们可以使用以下方法将其转换JSON字符串: String json = objectMapper.writeValueAsString(person); 最后,需要注意的是,在使用ObjectMapper进行JSON转换时,有些复杂的Java对象可能需要自定义反序列化器或序列化器。因此,在实际应用中,需要根据具体情况做出相应的调整。 ### 回答3: ObjectMapper是Java中的一个类库,主要用于实现Java对象和Json相互转化的功能,特别是Json到Java对象的转化。通过使用ObjectMapper,我们可以非常方便地将Json字符串转为Java对象或将Java对象转为Json字符串。 ObjectMapper的主要作用是提供基本的Json转换功能,包括将字符串转为Json格式,将Json格式转为对象,以及对象转Json格式等。此外,ObjectMapper还提供了一些高级的用法,如序列化和反序列化Json类型,自定义类型转换和过滤器等。 ObjectMapper是Java中最常用的JSON工具,它支持将Java对象转化为JSON格式的字符串,也能将JSON字符串转化为Java对象。通过ObjectMapper,我们可以快速地进行JSON字符串和Java对象之间的转换,非常方便地进行数据传输。 使用ObjectMapper来进行json转换,我们需要先实例化ObjectMapper对象,然后使用它提供的方法来进行Json对象和Java对象之间的转换。 在将Java对象转换Json字符串时,我们可以通过ObjectMapperwriteValueAsString()方法来实现。将Java对象转为Json字符串时,我们需要注意类和属性的注解和类型,以确保转换的正确性和完整性。 在将Json转换为Java对象时,我们可以通过ObjectMapper的readValue()方法来实现。在进行Json字符串和Java对象之间的转换时,我们需要保证类和属性的注解和类型与转换之前相同,以保证转换的一致性和正确性。 总之,使用ObjectMapper进行Json转换非常方便且简单,让我们能够轻松将Java对象和Json对象之间互相转化。对于开发者来说,在实际项目中使用ObjectMapper能够提高效率,减少错误,加快开发速度,增加可读性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值