JSON转换:实体类和JSONObject互转,List和JSONArray互转,map和JSONObject,JSONarray互转(fastjson版)

该文详细介绍了Java中如何进行实体类、List、Map与JSONObject和JSONArray之间的转换操作,包括JSON库的使用方法,如JSON.toJSONString()和JSONObject.toJavaObject()等,以及数据的取回和数组处理技巧。
摘要由CSDN通过智能技术生成

1.实体类和JSONObject互转

//实体类转为JSONObject
JSONObject jsonObject = JSON.toJSON(xtDmbm);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(xtDmbm));
//JSONObject转为实体类
XtDmbm xtDmbm = JSONObject.toJavaObject(jsonObject, XtDmbm.class);

2.List和JSONArray互转

//List转为JSONArray
JSONArray jsonArray = JSON.toJSON(list);
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));
//JSONArray转为List
List<XtDmbm> list = JSONObject.parseArray(jsonArray.toJSONString(), XtDmbm.class);

3.Map和JSONObject互转(同1.)

//Map转为JSONObject
JSONObject jsonObject = JSON.toJSON(map);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(map));
//JSONObject转为Map
Map<String, Object> map = JSONObject.toJavaObject(jsonObject, Map.class);

4.List<Map<>>和JSONArray互转(同2.)

//List<Map<>>转为JSONArray
JSONArray jsonArray = JSON.toJSON(listMap);
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(listMap));
//JSONArray转为List<Map<>>
List<Map<>> listMap = JSONObject.parseArray(jsonArray.toJSONString(), Map.class);

5.取数据

JSONObject datas = rev.getJSONObject("data");
JSONArray datas = rev.getJSONArray("data");
return new AppResponse().success().data(datas);

6.JSONArray转String{}

  JSONArray objects = new JSONArray();
        objects.add("1");
        objects.add("2");
        objects.add("3");
        //创建一个与JSONArray 长度相同的String数组
        String[] strings = new String[objects.size()];
        //使用JSONArray 中的toArray进行转换
        String[] strings1 = objects.toArray(strings);
        //使用java流将数组中的字符串进行拼接
        String collect = Arrays.stream(strings1).collect(Collectors.joining(","));
        System.out.println(collect);

7.数组转jsonarry

int[] my = new int[5];
        my[0] = 0;
        my[1] = 1;
        my[2] = 2;
        my[3] = 3;
        my[4] = 4;
        // 数组转为 JSONArray
        JSONArray jsonArray = (JSONArray) JSONArray.toJSON(my);

注: 由上示例可知任意数据类型均可通过JSON.toJSON(xxx)转换成对应的JSONObject或JSONArray

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 将JSONObject转换实体类List的步骤如下: 1. 首先,定义一个实体类,该实体类应该包含与JSONObject中的键值对相对应的属性。 2. 然后,使用JSONObject的getJSONArray()方法获取JSONArray对象。 3. 遍历JSONArray对象,使用JSONObject的get()方法获取每个JSONObject对象。 4. 使用Gson库的fromJson()方法将JSONObject对象转换实体类对象。 5. 将实体类对象添加到List中。 6. 最后,返回List对象即可。 示例代码如下: ``` public class User { private String name; private int age; // 省略getter和setter方法 } public List<User> jsonToList(String jsonStr) { List<User> userList = new ArrayList<>(); try { JSONArray jsonArray = new JSONArray(jsonStr); for (int i = ; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Gson gson = new Gson(); User user = gson.fromJson(jsonObject.toString(), User.class); userList.add(user); } } catch (JSONException e) { e.printStackTrace(); } return userList; } ``` ### 回答2: 在Java中,常常需要将Json格式的数据转换实体类List,这样可以更方便地操作数据。下面是一种常用的方法。 我们可以使用Gson库来实现Json数据的转换。首先需要定义我们的实体类,这里以学生类为例: ``` public class Student { private String name; private int age; private String gender; // 省略getter和setter方法 } ``` 接下来,我们可以定义一个方法来将Json字符串化为Student的List: ``` public List<Student> jsonToList(String jsonStr) { Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(jsonStr, JsonObject.class); JsonArray jsonArray = jsonObject.getAsJsonArray("students"); List<Student> studentList = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { JsonObject obj = jsonArray.get(i).getAsJsonObject(); Student student = gson.fromJson(obj, Student.class); studentList.add(student); } return studentList; } ``` 解释一下这个方法的实现过程: 首先我们创建了一个Gson实例,利用它的fromJson()方法将Json字符串解析成JsonObject对象。 然后我们通过getAsJsonArray()方法从JsonObject对象中获取JsonArray对象(这里假设我们的Json数据是一个由student组成的数组)。 遍历JsonArray数组,利用Gson的fromJson()方法将每一个JsonObject对象转换成Student对象,然后存入List中。 最后返回Student的List。 这样,就可以方便地将Json数据化为实体类List。如果你已经了解了Gson库的用法,就可以在项目中方便地使用这个方法。 ### 回答3: JSONJavaScript Object Notation,JavaScript对象表示)是一种轻量级数据交换格式,广泛应用于互联网开发中。在开发中,我们经常需要将JSON格式的数据转换实体类对象,便于后续的业务逻辑操作。而JSON数据通常是一个对象或者一个对象的数组,所以我们需要将JSON数据转换实体类的列表。 Java中的JSON解析库有很多,比如Jackson、fastjson、Gson等,这里我们以Gson作为例子进行说明。 首先,我们需要定义一个实体类类似如下: ``` public class User { private String name; private int age; private String gender; // 省略getter和setter方法 } ``` 接着,我们需要将从服务端获取的JSON数据解析为JSON对象或者JSON数组,然后对其进行遍历,将每一条数据转换实体类对象并添加到list集合中。具体代码如下: ``` String jsonStr = "{\"users\":[{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"},{\"name\":\"Lucy\",\"age\":20,\"gender\":\"female\"}]}"; Gson gson = new Gson(); List<User> userList = new ArrayList<>(); JsonObject jsonObject = gson.fromJson(jsonStr, JsonObject.class); JsonArray jsonArray = jsonObject.get("users").getAsJsonArray(); for (int i = 0; i < jsonArray.size(); i++) { JsonObject object = (JsonObject) jsonArray.get(i); User user = gson.fromJson(object, User.class); userList.add(user); } ``` 在代码中,我们首先将JSON数据解析为JSON对象,并通过get方法获取对象中的“users”字段得到一个JSON数组。然后我们利用for循环,将每一条JSON数据转换实体类对象并添加到List集合中。 最后,通过以上的代码,我们就可以将从服务端获取到的JSON数据转换实体类列表并进行后续的业务逻辑操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

great-sun

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

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

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

打赏作者

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

抵扣说明:

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

余额充值