由来
上次在开发Android时,遇到一个问题,关于数据接口HTTP请求的参数的问题,使用POST方法,需要传输数组数据,折腾了好久才搞定,特来记录下。
分析
x-www-form-urlencoded字符编码的POST请求参数会被解析成文本
key1=value&key2=value&key3=value
而其中数组array的格式为
key1=value&key1=value
也就是说多个相同key当成数组。
那如果是数组,数组长度为1,怎么办?目前我也只想到加个key=,也就是加个空值。所以服务端收到的数组长度是2,需要做下处理。暂时只能找到这个方法,有更好方法的同学请不吝赐教。
尾巴
这个问题也有其他方法规避,比如把数组转换成字符串。但是有时候后端已经固定了参数,想要兼容又需要写新接口。
总之,先记录下。