yanzhenjie/NoHttp

上传请求的数据中包含list list里面是map数据,请问如何上传

abc8312111 opened this issue · 5 comments

网络请求数据中 需要上传一个数组 数组里面有包含了map键值对,目前的做法是arraylist 嵌套hashMap .但是后台接收到的map为字符串 带双引号的。请问你这个问题如何解决。

param 为map map里面包含一个key值为list list

同一个key对应多个value

// 方式一: 
request.add("key", value);
request.add("key", value2);
request.add("key", value3);

// 方式二:
List<Value> list = ...;
list.add(value);
list.add(value2);
list.add(value3);
request.add("key", list);

感谢作者回答我用的是方式二

// 方式二:
List list = ...;
list.add(value);
list.add(value2);
list.add(value3);
request.add("key", list);
但是我的value为map
List list = ...;
list.add(map);
list.add(map1);
list.add(map2);
request.add("key", list);
服务器接收到的map类型为带双引号的
正常map {"name":"123","age":"15"}
实际map "{"name":"123","age":"15"}"

这种嵌套是Java的数据结构,Http中没有这种方式,Http中都是字符串或者流,因此需要转为特定的格式,一般是JSONXML或者Protobuf。你们服务端期望的是JSON,你转为JSON就可以了。