jsonがそのjsonリクエストの応答を取得するために、jsonをqueryパラメータでGETリクエストに送信します。jsonをGETリクエストクエリパラメータに追加するにはどうすればよいですか?
私はリンク、このようなものを使用する場合:
www.url.com/search?query1=abc &フィルター= { "または":[{ "用語":{ "VINを":[私はSYSOUTステートメントとしてそれを行う場合は、URLの一部が青表示され、 "1g1105sa2gu104086"]}}]}
、このような何か:
www.url.com/search?query1=abc&フィルター= { "または":[{ "用語":{" vin ":[" 1g1105sa2gu104086 "]}}]}
となり、jsonは要求の一部でないかのように見えます。
URLを作成するには、操作したJSON文字列をURLに追加してからリクエストを送信します。しかし、それは2つの異なる文字列として現れます。
また、私は
フィルタ= JSONの一部を符号化するためにエンコーダを使用している{ "または":[{ "という用語は":{ "VIN":[ "1g1105sa2gu104086"]}}]}
この場合、角括弧と二重引用符は、そのjson内のすべてがエンコードされます。また、リンクは青色で表示されますが、要求を送信する際にはequalToもエンコード形式に変換されるため、400 Bad Requestの例外がスローされます。
私はこのような何か、URL自体にfilter=
を残すのみJSONの一部をコードする試みた:
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 –
jsonをjavaのURLEncoderを使用してエンコードします。これは、次の形式でエンコードされます。フィルタ%3D%7B%22%22%3A%5B%7B%22%%22%3A%7B%22%22%3A%5B%221g1105sa2gu104086%22%5D%7D%7D%5D %7D –