在doPost方法,JAVA中在URL中发送JSONString

时间:2018-06-02 08:52:25

标签: java json url urlencode

我有一个json字符串,需要作为URL的查询参数传递。

String jsonString = "{\"name\":\"sample\"}";

HTTPSClientUtils.doPost(new URL(url + "?params=" + jsonString), "", header);

我尝试过这样做,并收到错误为“网址中的非法字符”

然后,或者,我试着,

String urlJson = URLEncoder.encode(jsonString, "UTF-8");

现在它也返回相同的错误。 有人可以指导一种正确的方式在URL中发送json字符串用于POST吗?

1 个答案:

答案 0 :(得分:1)

您可以将HttpURLConnection课程与URL课程一起使用,并使用OutputStream将其写在帖子正文中。

                String postParam = "{\"name\":\"sample\"}";
                URL url = new URL(*Your url goes here*);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();

                connection.setRequestMethod("POST");
                connection.setDoOutput(true);
                connection.setDoInput(true);
                connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded");

                OutputStream os = connection.getOutputStream();
                os.write(postParam.getBytes());
                os.flush();
                os.close();

你可能想把它放在try-catch体中,它会抛出MalformedURLException