【问题标题】:Building a JSON search parser构建 JSON 搜索解析器
【发布时间】:2015-09-01 10:36:11
【问题描述】:
我正在使用数据库 api,他们让我有机会使用 url 通过他们的数据库进行搜索。
这是网址 =
http://api.database.com/v2/search?q=(THE PRODCUT)&type=(THE TYPE OF PRODUCT)
&key=(myApiKey)
我想做一个简单的搜索栏,用户可以输入产品名称并选择一个类型(类别)将其插入 url,然后在数据库中查找产品。
我知道如何解析 url 中的数据,但如何将用户文本插入 url 以更改它?
【问题讨论】:
标签:
java
android
json
search
android-studio
【解决方案1】:
使用 URI 构建搜索 url 总是更好的方法。
试试这样的
final String FORECAST_BASE_URL ="http://api.openweathermap.org/data/2.5/forecast/daily?";
final String QUERY_PARAM = "q";
Uri builtUri = Uri.parse(FORECAST_BASE_URL).buildUpon()
.appendQueryParameter(QUERY_PARAM, params[0])
.build();
URL url = new URL(builtUri.toString());
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
然后从 inputStream 中读取响应。
InputStream inputStream = urlConnection.getInputStream();
【解决方案2】:
您可以使用字符串连接,也可以使用 String.format(String format, Object... args)。例如:
String url = String.format("http://api.database.com/v2/search?q=%s&type=%s&key=%", product, productType, apiKey);
【解决方案3】:
或:
var product = "Product";
var productType="ProductType";
var url = "http://api.database.com/v2/search?q="+product+"&type="+productType+"&key="+myApiKey;