繁体   English   中英

如何保存hashmap的hashmap

[英]How to save hashmap of hashmap

我在套接字上传递这些数据,我在 88677344588 的 Hashmap 中有数据。我试图传递它但无法获取。如何在 Hashmap 的 Hashmap 的套接字上传递数据。如下所示

{“bot_id”:“a0ddc016-bcb1-4c41-a2ba-9d2c3a6a1763”,“curr_id”:“99501f27-54c7-4c0a-9b9b-598a5c71d374”,“数据”:{“target_id”:“59f0048b-b497-4c6f-afb3 -1457d54ba847"},"first_name":"System","last_name":"Message","room_id":"b3d026de-2c13-438b-a8c4-8f40c3d67b2a","user":"bot"}

我无法在套接字上传递这个。 “数据”:{“target_id”:“59f0048b-b497-4c6f-afb3-1457d54ba847”},

public void showToken(TokanGenerationModal jsonObject) {

    targetId=jsonObject.getTargetId().toString();
    room_id=jsonObject.getRoom_id().toString();
    owner_Id=jsonObject.getOwner_id().toString();
    curr_id=jsonObject.getId();

    Map<String,String> appLeadHashMap = new HashMap<>();
    appLeadHashMap.put("bot_Id", bot_Id);
    appLeadHashMap.put("curr_id", curr_id);
    appLeadHashMap.put("first_name","System");
    appLeadHashMap.put("last_name","Message");
    appLeadHashMap.put("room_id",room_id);
    appLeadHashMap.put("user","bot");
    appLeadHashMap.put("data",dataHashMap.put("targetId",targetId));
    
    start(owner_Id, room_id);

    session_id=jsonObject.getSession_token().toString();
    if((NetworkUtilities.isInternet(this)))
    {
        tokenPresenter.getMessage(targetId,room_id,session_id,this);
    }
    else 
    {
        Toast.makeText(this, "Check Internet connectivity.", Toast.LENGTH_SHORT).show();
    }

}

所以你有两个HashMap s: appLeadHashMapdataHashMap并且你想将秒作为值放入第一个?

好吧,您的appLeadHashMap是一个HashMap<String,String>这意味着它只接受String值! 它不会接受HashMap值。

要使这项工作生效,请修改您的appLeadHashMap以接受任何值:

Map<String,Object> appLeadHashMap = new HashMap<>();

此行的代码中还有一个讨厌的错误:

appLeadHashMap.put("data",dataHashMap.put("targetId",targetId));

在这里,您将put方法的结果添加到您的 hash map 中,而不是dataHashMap本身。 看起来您想先将键值对添加到内部 hash map,然后再将其添加到我们的 hash map。为此,请使用以下命令:

Map<String,Object> appLeadHashMap = new HashMap<>();
appLeadHashMap.put("bot_Id", bot_Id);
appLeadHashMap.put("curr_id", curr_id);
appLeadHashMap.put("first_name","System");
appLeadHashMap.put("last_name","Message");
appLeadHashMap.put("room_id",room_id);
appLeadHashMap.put("user","bot");
//add key to dataHashMap first
dataHashMap.put("targetId",targetId)
//finally, add the outer hash map to the inner
appLeadHashMap.put("data", dataHashMap);

请注意,现在您必须转换从appLeadHashMap检索到的对象,因为它的值类型为Object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM