我想要將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 –