簡體   English   中英

如何將列表 map 轉換為 json 字符串和 json 到列表 Z1D78DC8ED51214E518B5114FE24490AE

[英]How to convert list map to json string and json to list map

I want to convert list map to json (First Activity) then json to list map (Third Activity) I am using built-in json library Don't Use Any Third party library

將 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

需要使用您的 output 類型將TypeReference傳遞給readValue

ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> data = mapper.readValue(json, new TypeReference<List<Map<String, Object>>>(){});

您可以遍歷 JSONObject 並將其添加到 map,在您的情況下,您的值是一個列表,它將被視為 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,則可以使用遞歸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM