Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将包含键值对的对象作为值传递给Java/Android中的hashmap_Java_Android_Json_Hashmap_Android Volley - Fatal编程技术网

将包含键值对的对象作为值传递给Java/Android中的hashmap

将包含键值对的对象作为值传递给Java/Android中的hashmap,java,android,json,hashmap,android-volley,Java,Android,Json,Hashmap,Android Volley,我正在使用截击库在android中发布我的文章 JsonObjectRequest postRequest = new JsonObjectRequest(URL, new JSONObject(hashMap)); 在新JSONObject请求的第二个参数中,我将hashmap转换为JSONObject 下面是我的hashMap Map<String, Object> postparams = new HashMap<String, Object>()

我正在使用截击库在android中发布我的文章

JsonObjectRequest postRequest = new JsonObjectRequest(URL, new JSONObject(hashMap));
在新JSONObject请求的第二个参数中,我将hashmap转换为JSONObject

下面是我的hashMap

 Map<String, Object> postparams = new HashMap<String, Object>()
        postparams.put("protocol", "A");
        postparams.put("service_type", "B");
        postparams.put("access_id",accessID);
        postparams.put("contact", contactDetails);
Map postparams=newhashmap()
后参数put(“协议”,“A”);
postparams.put(“服务类型”、“B”);
postparams.put(“访问id”,accessID);
postparams.put(“联系人”,contactDetails);
联系人键有一个嵌套的JSON值,如下所示

联系人: {联系人姓名:“ABCD”,电话号码:“980”}

我该怎么做


我的尝试:我尝试创建一个hashmap,用jackson转换并传递它,但我得到了一个错误,这是预期的,因为我正在将一个对象转换为JSON两次。

作为
联系人
键值是:

{ contactName: "ABCD", phoneNumber: "98980980980" }
表示要将包含
contactName
phoneNumber
的JSONObject作为键值对传递:

JSONObject json=new JSONObject();
json.put("contactName", contactDetails.getcontactName());
json.put("phoneNumber", contactDetails.getphoneNumber());

...
postparams.put("contact", json.toString());

问:你说的是标准的Android库吗?如果是这样的话,竖起大拇指。一个很好的建议。简单地使用Android Json库是简单、高效的。。。而且比试图和杰克逊摔跤要容易得多。注:JSONObject基本上只是一个Java hashmap。。。但是,尽可能多地在对象中嵌套对象是很容易的。Java对象和JSON文本之间的序列化/反序列化也很容易。大家好,谢谢你们的建议/解决方案,看起来应该可以,虽然我无法验证今天是否是周末,服务器关闭,但我肯定会在周一测试完后返回结果。干杯@paulsm4@K(很抱歉无法键入您的完整用户名)感谢@K对使用JSONObject的建议,因为它确实简化了任务。对于那些刚刚阅读此链接的人来说,这有助于他们自动实现上述目标吗?。。仅表示对象?您应该检查要发布的正确变量是
hashMap
postparams
:)很抱歉,这是一个输入错误,我编辑了它。谢谢你的评论@BNK