JSONArray转换成List<T>

2022-09-07 15:23:43 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

常用的方法:

1.首先有一个JSONArray对象,比如是jsonArray

代码语言:javascript复制
JSONObject jsonObject1 = new JSONObject();
JSONObject1.put("username","zhangsan");
JSONObject jsonObject2 = new JSONObject();
JSONObject2.put("username","lisi");

JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);

2.进行转换

代码语言:javascript复制
List<User> users= jsonArray.toJavaList(User.class)

mybatis的json对象映射

这个是针对mybatis中json对象映射成实体类的需求,mybatis通过(typeHandler = FastjsonTypeHandler.class)会把数据库类型是json的转换为List类型,但是本质上没有变。打印出来会是这样:

代码语言:javascript复制
[{"username":"zhangsan"}]

但这个并不是我们想要的,我们想要的是这样的:

代码语言:javascript复制
[User[username=zhangsan]]

所以我们要这样做:

代码语言:javascript复制
String s = JSONArray.toJSONString(users);
JSONArray jsonArray = JSONObject.parseArray(s);
List<User> list = jsonArray.toJavaList(User.class)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152256.html原文链接:https://javaforall.cn

0 人点赞