我有一个json字符串,需要作为URL的查询参数传递。
String jsonString = "{\"name\":\"sample\"}";
HTTPSClientUtils.doPost(new URL(url + "?params=" + jsonString), "", header);
我尝试过这样做,并收到错误为“网址中的非法字符”
然后,或者,我试着,
String urlJson = URLEncoder.encode(jsonString, "UTF-8");
现在它也返回相同的错误。 有人可以指导一种正确的方式在URL中发送json字符串用于POST吗?
答案 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