jackson json转list

  今天项目中用到了jackson,经理说效率高一些,所以就开始用起来,一开始json转对象,对象转json还是很简单的,但也还是有一些问题,后来加了一点配置属性就没有报错了

1      ObjectMapper mapper = new ObjectMapper();
2         Entity result = mapper.readValue(data , Entity.class);
3         Entity result = mapper.readValue(data , Entity.class);

如果是对象转json,相应的方法是

        ObjectMapper mapper = new ObjectMapper();  
        String Json =  mapper.writeValueAsString(student1);    

但是如果将json转成List或者array就会变得不这么简单,从网上找了好多例子来试都不可以,后来我灵机一动,想了一个办法,那就是创建实体,然后直接转对象,发现真的管用了,所以就在这里记录一下,以备遗忘,json串如下:

{
    "data": {
        "totalSize": 0,
        "results": [],
        "empty": true
    },
    "error_message": "",
    "error_code": 0,
    "status": "success"
}

  转的时候的代码如下所示

                ObjectMapper mapper = new ObjectMapper();
        RepaymentResult result = mapper.readValue(data , RepaymentResult.class);     

发现和上面转的代码一样,只不过这样会多创建几个实体类,不过没有了转不了的烦恼啦,但是有一点要记住,那就是对像的属性值和json里面的key值要一样才可以哦!

转载于:https://www.cnblogs.com/lilyjia/p/5161352.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jackson可以将JSON字符串换为Java对象,也可以将Java对象换为JSON字符串。如果要将JSON字符串换为List集合,可以使用以下代码: ``` ObjectMapper objectMapper = new ObjectMapper(); List<MyObject> myObjects = objectMapper.readValue(jsonString, new TypeReference<List<MyObject>>(){}); ``` 其中,MyObject是自定义的Java对象jsonString是要换的JSON字符串。使用TypeReference可以指定要换的集合类型。换后,myObjects就是一个List集合,其中包含了从JSON字符串中解析出来的多个MyObject对象。 注意,使用Jackson进行JSON换时,需要引入jackson-databind库。 ### 回答2: 在Java中,我们可以使用Jackson库将JSON换为List集合。 首先,我们需要在pom.xml文件中添加Jackson库的依赖: ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency> ``` 然后,我们可以使用以下代码将JSON字符串换为List集合: ```java import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.List; public class JsonToListConverter { public static void main(String[] args) { String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]"; ObjectMapper objectMapper = new ObjectMapper(); try { List<Person> personList = objectMapper.readValue(jsonString, new TypeReference<List<Person>>() {}); for (Person person : personList) { System.out.println("Name: " + person.getName() + ", Age: " + person.getAge()); } } catch (IOException e) { e.printStackTrace(); } } private static class Person { private String name; private int age; 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; } } } ``` 在上面的代码中,我们首先定义了一个包含"name"和"age"属性的Person类。然后,我们使用ObjectMapper类的readValue方法将JSON字符串换为List<Person>类型,并使用TypeReference将其指定为目标类型。 最后,我们可以遍历List集合并访问每个Person对象的属性。 这样,我们就成功地将JSON换为List集合了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值