Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的HttpPost参数BasicNameValuePair_Java_Http_Http Post_Basicnamevaluepair - Fatal编程技术网

Java中的HttpPost参数BasicNameValuePair

Java中的HttpPost参数BasicNameValuePair,java,http,http-post,basicnamevaluepair,Java,Http,Http Post,Basicnamevaluepair,我必须将参数列表传递给Http POST调用 服务器预期的实际JSON为: { "par1": "val1", "par1": "val1", "par3": ["val1", "val2", "val3"] } 以下是Java存根: List<NameValuePair> parameters = new ArrayList<>(); parameters.add(new BasicNameValuePair("par1", "val1")); paramete

我必须将参数列表传递给Http POST调用

服务器预期的实际JSON为:

{
 "par1": "val1",
 "par1": "val1",
 "par3": ["val1", "val2", "val3"]
}
以下是Java存根:

List<NameValuePair> parameters = new ArrayList<>();
parameters.add(new BasicNameValuePair("par1", "val1"));
parameters.add(new BasicNameValuePair("par2", "val2"));
parameters.add(new BasicNameValuePair("par3", "["val1", "val2", "val3"]"));
端点需要一个数组,如4°线所示,我不知道如何将其作为数组传递

尝试搜索Stackoverflow并找到以下解决方案:

//inside for loop
parameters.add(new BasicNameValuePair(String.format("par[%d]", incremental), "value"+incremental));

实际上,我不能调试服务器端,所以我不能说它们是否正确。从现在起,他们都没有工作过


如何在java上实现它?

来自服务器的实际JSON是

“par1”:“val1”

“par1”:“val1”

“par3”:[“val1”、“val2”、“val3”]

我认为问题在于你越来越

“par1”:“val1”

从服务器端发送两次。 将第二个改为

par2:‘val2’

//inside for loop
parameters.add(new BasicNameValuePair(String.format("par[%d]", incremental), "value"+incremental));
//inside for loop
parameters.add(new BasicNameValuePair("par[]", "value"+incremental));
String values = "" +
            "[" +
                "\"val1\"," +
                "\"val2\"," +
                "\"val3\""
            "]";


parameters.add(new BasicNameValuePair("par3", values ));