我在套接字上传递这些数据,并且在Hashmap的Hashmap中有数据。我试图传递它,但是get.How无法在Hashmap的Hashmap的套接字上传递数据。就像下面
{"bot_id":"a0ddc016-bcb1-4c41-a2ba-9d2c3a6a1763","curr_id":"99501f27-54c7-4c0a-9b9b-598a5c71d374","data":{"target_id":"59f0048b-b497-4c6f-afb3-1457d54ba847"},“first_name”:“first_name”,"last_name":"Message","room_id":"b3d026de-2c13-438b-a8c4-8f40c3d67b2a",“first_name”:“bot”}
我不能在套接字上通过这个。"data":{"target_id":"59f0048b-b497-4c6f-afb3-1457d54ba847"},
公开无效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();
}}
发布于 2022-03-03 10:47:55
因此,您有两个HashMaps:appLeadHashMap和dataHashMap,您希望将秒作为值放在第一个值中?
您的appLeadHashMap是一个HashMap<String,String>,这意味着它将只接受String值!它将不接受HashMap值。
要完成这项工作,请修改appLeadHashMap以接受任何值:
Map<String,Object> appLeadHashMap = new HashMap<>();在这一行代码中也有一个严重的错误:
appLeadHashMap.put("data",dataHashMap.put("targetId",targetId));在这里,将put方法的结果添加到哈希映射中,而不是dataHashMap本身。看起来,您希望先向内部哈希映射添加键值对,然后将其添加到我们的哈希映射中。要做到这一点,请使用以下命令:
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。
https://stackoverflow.com/questions/71335070
复制相似问题