gpt4 book ai didi

java - Java 中的 HttpPost 参数 BasicNameValuePair

转载 作者:行者123 更新时间:2023-12-02 12:44:15 32 4
gpt4 key购买 nike

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

服务器期望的实际 JSON 是:

{
"par1": "val1",
"par1": "val1",
"par3": ["val1", "val2", "val3"]
}

这是 Java stub :

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"]"));

这就是我将参数传递给 HttpPost 对象的方式:

httpPost.setEntity(new UrlEncodedFormEntity(parameters));

端点需要一个数组,如 4° 线所示,但我不知道如何将其作为数组传递。

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

//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 ));

实际上,我无法调试服务器端,所以我不能说它们是否正确。从现在起,它们都不起作用了。

如何在java上实现它?

最佳答案

来自服务器的实际 JSON 是

"par1": "val1",

"par1": "val1",

"par3": ["val1","val2","val3"]

我认为问题是你得到了

"par1": "val1"

两次来自服务器端。将第二个更改为

par2 : 'val2'

关于java - Java 中的 HttpPost 参数 BasicNameValuePair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44823226/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com