这里分享一个android端传递数组给后台php的方式。后台要我传递的是一个二维数组,如下图。
$data['Car']=array(
"2_100" => array(
"c1" => '2',
"c2" => 0,
"i" => '100',
"c" => '00',
"q" => 1,
"n" => '汽油',
"g" =>'',
"j" => 55,
"p" => '60.00',
"w" => '9.00',
"m" => '7000'
),
"2_1006280" => array(
"c1" => '2',
"c2" => 0,
"i" => '1006280',
"c" => '',
"q" => 1,
"n" => '汽油',
"g" =>'',
"j" => 55,
"p" => '7',
"w" => '9',
"m" => '9'
)
);
一、分析:然后看到我就懵逼了,键还能用数字,那我就铁定不能用对象转json了,只能自己拼接。ios那边很快就传递过去了,他们用的是字典的数据形式拼接传递过去的,成功获取数据。我这边就比较焦灼了,我完美拼接后传递过去,结果,后台调试说不能识别这个二维数组,当时就炸了。。。我用的okhttp3,然后郁闷。。。用我心爱的postman调试总是不行,后台不能解析这个二维数组
二、解决方案
同样是拼接好你的二维数组给你后台想要的效果,然后。。。
原来post方式只要改变你的键的数据类型,后台就会得到这个类型,然后就可以识别出这个数据的类型了。键改成这样就可以了,Car[][]。同时,postman的打开方式满分。
代码片段里面就是这样。
三、至此,解决了困扰我两天的问题,希望对你也有所帮助。