Java android中带有嵌套关联数组的Http post

Java android中带有嵌套关联数组的Http post,java,android,http-post,multidimensional-array,basicnamevaluepair,Java,Android,Http Post,Multidimensional Array,Basicnamevaluepair,我正在尝试向PHP服务发送http post请求。下面是一些测试数据的输入外观示例 我知道PHP关联数组的Java替代品是HashMaps,但我想知道是否可以使用NameValuePairs实现这一点?格式化此输入并通过post请求调用PHP服务的最佳方法是什么 是的,这可以通过NameValuePair完成。您可以使用 List<NameValuePair> params; //and when making `HttpPost` you can do HttpPost htt

我正在尝试向PHP服务发送http post请求。下面是一些测试数据的输入外观示例


我知道PHP关联数组的Java替代品是HashMaps,但我想知道是否可以使用NameValuePairs实现这一点?格式化此输入并通过post请求调用PHP服务的最佳方法是什么

是的,这可以通过
NameValuePair
完成。您可以使用

List<NameValuePair> params;
//and when making `HttpPost` you can do 
HttpPost httpPost = new HttpPost("Yoururl");
httpPost.setEntity(new UrlEncodedFormEntity(params));

//and while building parameters you can do somethin like this 
params.add(new BasicNameValuePair("name", "firemanavan"));
params.add(new BasicNameValuePair("cvr", "1245678"));
....
getJSONFromUrl("YourUrl", params);

现在,这只是一个如何使用
NameValuePair
实现这一点的基本想法。您需要更多的解决方案才能完全按照您的需要实现,但这应该为您提供基本想法。希望这能有所帮助。

扩展@Sash\u KP的答案,您也可以像这样发布nameValuePairs:

params.add(new BasicNameValuePair("Company[name]", "My company"));
params.add(new BasicNameValuePair("User[name]", "My Name"));

谢谢再加上@Illegeal answer,它可以完美地工作。我只需要修改用户的数据,因为它是数组中的一个数组。这就是我如何处理用户数据的方法:
params.add(新的BasicNameValuePair(“用户[0][name],“name”)太好了。很高兴它对你有用。请接受你所有问题的答案,如果对你有用的话。是的,当然。我确实接受这个答案,尽管我也从@Illegeal answer:)中得到了一些很好的灵感,谢谢!我必须修改用户的数据,因为关联数组“User”包含另一个名为“0”的关联数组。我就是这样做的:
params.add(新的BasicNameValuePair(“用户[0][name],“用户名”);参数add(新的BasicNameValuePair(“用户[0][姓氏],“用户姓氏”)
params.add(new BasicNameValuePair("Company[name]", "My company"));
params.add(new BasicNameValuePair("User[name]", "My Name"));