.asFormUrlEncoded() 从 hashMap<String, String> 中检索数据
.asFormUrlEncoded() to retrieve data from hashMap<String, String>
我正在使用 MultipartRequest 将视频文件连同一些用户详细信息发送到我的播放框架应用程序,用户详细信息被添加到服务器端的哈希映射 Map<String, String> myMap;
我已经使用 . asMultipartFormData();
我试图使用 .asFormUrlEncoded();
检索我的地图,但它使用 Map<String, String[]>
所以我只能从我的哈希映射中检索一个值,如果我尝试使用此代码检索更多
for(int i =0; i < myMap.size(); i++){
String param = "param" + (i + 1);
System.out.println(myMap.get(param)[i]);
}
我收到 arrayOutOfBounds 错误,是否有替代解决方案从 MultipartFormData 检索数据,或者我可以以不同方式实现我的循环吗?
也许我根本不应该使用 .asFormUrlEncoded();
来检索哈希图?
编辑
我修改了我的代码以使用迭代器
Iterator<String> myVeryOwnIterator = myMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
String[] value= myMap.get(key);
System.out.println(key + " " + value);
}
这会打印我的密钥,但是 returns Ljava.lang.String;@
用于值,我认为这是因为 .asFormUrlEncoded();
需要 <String, string[]>
,但我的 hashMap 使用 <String, String>
有解决办法吗?
这是解决方案:
Iterator<String> myVeryOwnIterator = myMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
String[] value= myMap.get(key);
System.out.println(key + " " + value[0]);
}
我正在使用 MultipartRequest 将视频文件连同一些用户详细信息发送到我的播放框架应用程序,用户详细信息被添加到服务器端的哈希映射 Map<String, String> myMap;
我已经使用 . asMultipartFormData();
我试图使用 .asFormUrlEncoded();
检索我的地图,但它使用 Map<String, String[]>
所以我只能从我的哈希映射中检索一个值,如果我尝试使用此代码检索更多
for(int i =0; i < myMap.size(); i++){
String param = "param" + (i + 1);
System.out.println(myMap.get(param)[i]);
}
我收到 arrayOutOfBounds 错误,是否有替代解决方案从 MultipartFormData 检索数据,或者我可以以不同方式实现我的循环吗?
也许我根本不应该使用 .asFormUrlEncoded();
来检索哈希图?
编辑
我修改了我的代码以使用迭代器
Iterator<String> myVeryOwnIterator = myMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
String[] value= myMap.get(key);
System.out.println(key + " " + value);
}
这会打印我的密钥,但是 returns Ljava.lang.String;@
用于值,我认为这是因为 .asFormUrlEncoded();
需要 <String, string[]>
,但我的 hashMap 使用 <String, String>
有解决办法吗?
这是解决方案:
Iterator<String> myVeryOwnIterator = myMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
String[] value= myMap.get(key);
System.out.println(key + " " + value[0]);
}