我想要将json发送到查询参数中的GET请求以获取该json请求的响应。如何将json添加到GET请求查询参数?
如果我使用一个链接是这样的:
www.url.com/search?query1=abc &过滤器= { “或”:[{ “术语”:{ “VIN”: “1g1105sa2gu104086”]}}]}
然后URL部分显示为蓝色,如果我做它作为系统输出语句,像这样:
www.url.com/search?query1=abc&过滤器= { “或”:[{“条款“:{”vin“:[”1g1105sa2gu104086“]}}]}
和json看起来好像它不是请求的一部分。
要创建一个URL,我将操作的JSON字符串附加到URL,然后发送请求。但它表现为两个不同的字符串。
另外我已经使用编码器到JSON部分编码
滤波器= { “或”:[{ “术语”:{ “VIN”:[ “1g1105sa2gu104086”]}}]}
在这种情况下,括号和双引号该json中的所有内容都被编码,即使是equalTo符号。此外,该链接显示为蓝色,但在发送请求时,会抛出400错误请求的异常,因为equalTo也会转换为其编码格式。
我试图编码只有JSON部分离开filter=
在URL中,这样的事情:
www.url.com/search?query1=abc&filter= { “或”:[{ “术语”:{ “VIN”: “1g1105sa2gu104086” ]}}]}
请求发送后出现的结果与我想要的结果不同。
我用下面的代码创建一个JSON:
private String getVinFromInventoryRequest(String vin) throws JSONException {
JSONObject request = new JSONObject();
JSONArray orArray = new JSONArray();
for(String vin : vins) {
JSONObject termsObject = new JSONObject();
JSONObject vinsObject = new JSONObject();
JSONArray vinsArray = new JSONArray();
vinsArray.put(vin);
vinsObject.put("vin", vinsArray);
termsObject.put("terms", vinsObject);
orArray.put(termsObject);
}
request.put("or", orArray);
System.out.println("OfferMapper.getVinFromInventoryRequest " + request.toString());
return request.toString();
}
怎么办你编码的JSON?该编码的结果是什么?你能提供例子吗? – Mark
重复的:http://stackoverflow.com/questions/23476033/how-should-i-put-json-in-get-request –
我使用URLEncoder在Java中编码json。它以这种格式编码:过滤器%3D%7B%22和%22%3A%5B%7B%22%22%3A%7B%22%%22%3A%5B%221g1105sa2gu104086%22%5D%7D%7D%5D %7D –