Как преобразовать строку запроса MQL в Tranlated URL?
Мой запрос: {"lat": 37.75629, "lon": -122.4213, "radius": "1 км", "entity": [{"type": "business", "guid": null}]}
http://api.geoapi.com/v1/q?q=%7B%22lat%22%3A+37.75629%2C+%22lon%22%3A+-122.4213%2C+%22radius%22%3A+%221km%22%2C+%22entity%22%3A+%5B%7B%22type%22%3A+%22business%22%2C+%22guid%22%3A+null%7D%5D%7D&apikey=demo&pretty=1
В настоящее время я работаю на Android. Как преобразовать строку запроса в проанализированный URL. Есть ли инструмент для перевода URL для этого? или иначе я хочу реализовать логику. Я не знаю, мой вопрос правильный или неправильный? Может кто-нибудь мне помочь.
1 ответ
Если я правильно понимаю ваш вопрос, на Android вы можете использовать
Uri uri=Uri.parse(url_as_string);
uri.getQueryParameter("param1");
или библиотеки Apache предоставляют анализатор запросов:
http://developer.android.com/reference/org/apache/http/client/utils/URLEncodedUtils.html и http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/utils/URLEncodedUtils.html
Метод parse() возвращает список NameValuePairs, созданный из части запроса URI.
Если вы хотите преобразовать параметры в uri, используйте Uri.Builder:
Uri.Builder uri = new Uri.Builder().scheme("http").
authority("test.com").
path("theservlet").
appendQueryParameter("q", theQuery);