java中集合对象与string互转的几种方式

40 篇文章 1 订阅
11 篇文章 2 订阅

在这里插入图片描述

📫 作者简介:「子非我鱼」,专注于研究全栈
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

引言

在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之间的转换。选择适合场景和个人喜好的方式,以确保代码的清晰和可读性。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非我鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值