如何将列表映射转换为json字符串和json到列表映射

编程帮助

我想将列表映射转换为json(第一个活动),然后将json转换为列表映射(第三个活动)我正在使用内置的json库,请不要使用任何第三方库

将ListMap转换为json的代码

        {
            
            
        }
        else
        {
            HashMap<Object, Object> map = new HashMap<>();
            
            map.put("title",list_string_title);
            map.put("id",list_string_id);
            JSONObject jsonObject = new JSONObject(map);
            
            FileUtils.writeFile(getPathData(scr_id),jsonObject.toString());
        }

当程序找到json文件时,我希望将其添加到listMap中

谢诺伊

您可以遍历JSONObject并将其添加到地图中,如果您的值是一个列表,它将被视为JSONArray,您可以尝试以下代码

public Map<Object, Object> jsonToMap(JSONObject jsonObject) throws JSONException {

        Iterator<String> itr = jsonObject.keys();   
        Map<Object, Object> mapFromJSON = new HashMap<Object,Object>();
        
        while(itr.hasNext()) {
            Object key = itr.next();
            JSONArray jsonArray = (JSONArray) jsonObject.get((String) key);
            ArrayList list = new ArrayList<Object>();
            
            for(int i=0; i< jsonArray.length(); i++) {
                list.add(jsonArray.get(i));
            }
            mapFromJSON.put(key, list); 
        }
        return mapFromJSON;
    }

如果您的列表包含JSONObject,则可以使用递归。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章