Java中的HttpPost参数BasicNameValuePair
我必须将参数列表传递给Http POST调用 服务器预期的实际JSON为: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
{
"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 ));