快捷搜索: 王者荣耀 脱发

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);
经验分享 程序员 微信小程序 职场和发展