如何从 Volley API 字符串响应中查找特定数据



我是API的新手,终于想出了如何成功地从网站检索请求响应。 问题是我完全不知道我应该如何处理回应。我不知道如何访问响应中的某些值

这是我的API凌空代码

RequestQueue requestQueue = Volley.newRequestQueue(this);
String uri = Uri.parse("https://chicken-coop.p.rapidapi.com/games/Fortnite?platform=pc")
.buildUpon()
.build().toString();
StringRequest stringRequest = new StringRequest(
Request.Method.GET, uri, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
displayResults.setText("Response: " + response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
displayResults.setText( "" + error.toString());
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("X-RapidAPI-Key", "5cdb2bbe57mshd9242c8d3177cb3p16f2fbjsnd7c5829eb4ad");
params.put("X-RapidAPI-Host", "chicken-coop.p.rapidapi.com");
return params;
}
};
requestQueue.add(stringRequest);

这是我收到的响应查询

"结果":{10 项 "标题":"堡垒之夜" "发布日期":"2017 年 7 月 25 日" "描述":"Epic Games的下一个项目让你建造堡垒并阻止僵尸入侵。 "流派":[... ]6 项目 "图像":"https://static.metacritic.com/images/products/games/5/c7eb46ceb7da9c72c5a95193e8621faf-98.jpg" "分数":81 "开发商":"史诗游戏" "发布者":[... ]1 项目 "评级":"T" "也可用":[6 项目 0: "iPhone/iPad" 1: "PlayStation 3" 2: "PlayStation 4" 3: "开关" 4: "Xbox 360" 5: "Xbox One">

如何从响应查询中查找显式值?我一直在寻找如何在网上做到这一点,有很多不同的方法可以做,我不知道该怎么做。例如,如何将发布日期放入其自己的文本框中?我在网上看到的大多数示例在使用字符串响应时使用JsonObjects

onResponse方法中,您需要解析结果,以便提取所需的任何数据

public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("result");
// toaccess to your json data 
String title = jsonArray.getString("title");
// your code 

} catch (JSONException e) {
e.printStackTrace();
}
}

最新更新