gpt4 book ai didi

java - 在 Java 中将 ArrayList 转换为 JSON 对象

转载 作者:行者123 更新时间:2023-12-02 00:43:56 25 4
gpt4 key购买 nike

新手 Java 问题:我有一个 ArrayList 值,用于存储用户对象的属性,如下所示:

{"users":["Bob", 35, "230 Elm Street", "bob@website.com"]}

我的用户对象:

public class User{
private String name;
private int age;
private String address;
private String email;
//getters & setters
}

我需要将每个值映射到它们各自的属性,以便我可以返回正确的键/值 JSON 对象,如下所示:

["name": "Bob", "age": 35, "address": "230 Elm Street", "email": "bob@website.com"]

我对如何解决这个问题有点困惑;我是否需要在迭代列表时使用 Map 手动设置每个键,例如...

for(User user : list){
HashMap myMap = new HashMap();
myMap.put("name", user.getName());
myMap.setAge("age", user.getAge());
//etc...

}
//Convert Map to JSON
return new JSONObject(myMap);

或者比这更简单?感谢您的帮助!

最佳答案

首先是 User 的列表对象的 JSON 需要不同。目前的表示如下

{"users":[{"name": "Bob", "age": 35, "address": "230 Elm Street", "email": "bob@website.com"},{"name": "Bob1", "age": 40, "address": "2301 Elm Street", "email": "bob1@website.com"}]}

将此 json 映射到 List<User>我们可以使用ObjectMapper Jackson 库中提供的实现

 ObjectMapper mapper = new ObjectMapper();
List<User> list2 = mapper.readValue(jsonString, TypeFactory.collectionType(List.class, User.class));

阅读此内容 Link如需更多帮助

关于java - 在 Java 中将 ArrayList 转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com