我正在做一个学校项目,我需要解析JSON并进行查询以获取特定值。有问题的API是这个http://data.nba.net/10s/prod/v2/2018/teams.json,我只想要“标准”数组的团队。
例如,我只想要NBA系列球队,我尝试了以下方法:
private void loadTeams() {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(application);
String franchise = preferences.getString("isnbafranchise", "true");
Uri baseUri = Uri.parse(NBA_REQUEST_URL);
Uri.Builder uriBuilder = baseUri.buildUpon();
uriBuilder.appendQueryParameter("isnbafranchise", franchise);
RequestQueue requestQueue = Volley.newRequestQueue(application);
StringRequest request = new StringRequest(Request.Method.GET, uriBuilder.toString(), new Response.Listener<String>() {
@Override
public void onResponse(String response) {
List<NBATeam> teamList = QueryUtils.extractFeatureFromJson(response);
teams.setValue(teamList);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("Error Volley", error.toString());
}
});
requestQueue.add(request);
}
但与没有appendQueryParameter的情况相同,返回所有taam。我也尝试过从Mozilla(http://data.nba.net/10s/prod/v2/2018/teams.json?isnbafranchise=true)发出GET请求,并得到相同的结果,这使我认为我没有正确执行查询。