📫 作者简介:「子非我鱼」,专注于研究全栈
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~
文章目录
引言
在Java编程中,经常需要处理集合对象与字符串之间的转换,这是因为在实际开发中,我们经常需要将数据以字符串的形式进行存储或传输,而集合对象是一种常见的数据结构。在本文中,我们将介绍几种常见的方式来实现集合对象与String之间的相互转换。
准备数据:
UserInfo.java
@Data
@AllArgsConstructor
public class UserInfo {
private Long id;
private String username;
private String password;
}
模拟数据
ArrayList<UserInfo> userInfos = new ArrayList<>();
UserInfo user1 = new UserInfo(1L, "子", "123");
UserInfo user2 = new UserInfo(2L, "非", "345");
UserInfo user3 = new UserInfo(3L, "我", "567");
UserInfo user4 = new UserInfo(4L, "鱼", "789");
userInfos.add(user1);
userInfos.add(user2);
userInfos.add(user3);
userInfos.add(user4);
方式一 Gson类 import com.google.gson.Gson;
Gson gson = new Gson();
// json对象转string
String obj1 = gson.toJson(user1);
// json集合转string
String list1 = gson.toJson(userInfos);
// string转json对象
UserInfo userInfo = gson.fromJson(obj1, UserInfo.class);
// string转json集合
List<UserInfo> result1 = gson.fromJson(list1,new TypeToken<List<UserInfo>>() {}.getType());
方式二 JSONArray类 import net.sf.json.JSONArray;
// json集合转string
JSONArray result2 = JSONArray.fromObject(userInfos);
String s = result2.toString();
// jsonarray转json集合
List<UserInfo> collection = (List<UserInfo>) JSONArray.toCollection(result2, UserInfo.class);
方式三 JSON类 import com.alibaba.fastjson.JSON;
// json集合转string
String result3 = JSON.toJSONString(userInfos);
// string转对象
ReverseMap geocodes = JSONObject.parseObject(result3,ReverseMap.class);
// string转json集合
List<UserInfo> userInfos = JSON.parseArray(result3, UserInfo.class);
// string转map
HashMap map = JSON.parseObject(result3, HashMap.class);
这几种方式提供了灵活而便捷的方法来在Java中进行集合对象与String之间的转换。选择适合场景和个人喜好的方式,以确保代码的清晰和可读性。