微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json字符串转listmap集合

Json字符串的格式非常清晰,而且易于阅读。这使得其成为传输和存储数据的一种理想格式。在Java中,将Json字符串转换为ListMap集合是非常常见的操作,而下面的代码将介绍如何实现该操作。

/**
* 字符串转ListMap
* @param jsonStr Json字符串
* @return ListMap集合
*/
public static List<Map<String,Object>> jsonToListMap(String jsonStr) {
    List<Map<String,Object>> list = new ArrayList<>();
    // 判断字符串是否为空
    if (jsonStr == null || jsonStr.trim().length() <= 0) {
        return list;
    }
    // 将字符串转换为JSONArray对象
    JSONArray jsonArray = JSONArray.parseArray(jsonStr);
    for (int i = 0; i < jsonArray.size(); i++) {
        JSONObject jsonObject = jsonArray.getJSONObject(i);
        Map<String,Object> map = new HashMap<>();
        Set<String> set = jsonObject.keySet();
        for (String key : set) {
            Object value = jsonObject.get(key);
            // 如果值是JSONObject类型,则递归解析
            if (value instanceof JSONObject) {
                map.put(key,jsonToMap(value.toString()));
            } else if (value instanceof JSONArray) {
                map.put(key,jsonToList(value.toString()));
            } else {
                map.put(key,value);
            }
        }
        list.add(map);
    }
    return list;
}

json字符串转listmap集合

上述代码中,我们首先定义了一个jsonToListMap函数来实现Json字符串转ListMap的功能函数的第一个参数是Json字符串,它返回一个ListMap集合。

接下来,我们判断了字符串是否为空。如果为空或空格,则函数直接返回空的ListMap集合。

然后,我们使用JSONArray类将Json字符串转换为JSONArray对象。这是因为一个Json字符串可以表示一个Json对象,也可以表示一个Json数组。而ListMap集合是由多个Map集合组成的,因此我们需要使用JSONArray类来处理Json数组。

接着,我们使用循环遍历JSONArray对象中的每个JsonObject对象。对于每个JsonObject对象,我们都创建一个Map集合。然后,我们使用keySet方法获取JsonObject对象中所有的键值,再根据键值获取对应的值。如果值是JSONObject类型,则使用递归方式解析;如果值是JSONArray类型,则使用List集合来保存解析结果;否则,直接将值放入Map集合。

最后,我们把每个Map集合添加到ListMap集合中,并返回该ListMap集合。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐