Java 如何通过HTTPPost发送阵列

Java 如何通过HTTPPost发送阵列,java,android,http,Java,Android,Http,我必须通过httppost发送这些参数。从我的android应用程序到drupal服务器 这是php表示 $data = array(        'node' => array(            'type' => 'celapp_order',            'title' => 'order celeb: nixon-fan '.date("j.m.Y H:i:s"),            'field_fan_uid' => array(

我必须通过httppost发送这些参数。从我的android应用程序到drupal服务器

这是php表示

$data = array(
        'node' => array(
            'type' => 'celapp_order',
            'title' => 'order celeb: nixon-fan '.date("j.m.Y H:i:s"),
            'field_fan_uid' => array(0 => array('uid' => 4)),
            'field_celeb_uid' => array(0 => array('uid' => 5)),
            'field_celeb_price' => array(0 => array('value' => 0.79))
        )
    );
在过去,我使用了namevaluepairs。我无法确定如何使用namevaluepairs发送参数。如果有人能帮上忙,我将非常乐意

使用JSON包装器:

$postable = json_encode($data); // in PHP, there's equivalents for Java out there.
这将把数组转换成明文(基本上是javascript),这很容易通过POST发送。接收端将使用
json_decode()
(或该特定平台上的任何等价物)将json版本转换回本机数组/对象。

我使用对json ro和普通旧java对象(POJO)进行序列化/反序列化,结果非常好。链接到数组示例

e、 g:


您的数组以PHP语法显示。它是如何用java表示的?哈希表?哈希映射?还有别的吗?你是从安卓系统发送到另一台服务器还是从另一台服务器发送?对不起,我不太清楚。我将它从Android发送到drupal服务器。它不是用java表示的。我有很多字符串需要填充数组,然后通过HttppostAs Marc B发送,在回答时,应该使用json编码来传递这样的数据结构。
public class Foo {

    private string Bar;
    private int Num;
}

Foo[] foos = new Foo[] ... // create array here

Gson gson = new Gson();
String text = gson.toJson(foos);

/*
output: 

[
  {
     "Bar" : "Hello",
     "Num" : 25
  },
  {
     "Bar" : "World",
     "Num" : 42,
  }
]

*/