android - 解析单值 JSON 对象
问题描述
我有这样的服务器响应-
[
{
"status": "ok"
}
]
在我的应用程序中,我使用 volley 加载数据:
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest({api_url}, script
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
// Retrieve "status" = "ok"
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
我想将“ok”作为字符串,这样我就可以与某些东西进行比较。我怎么能得到那个?
解决方案
您在开始时收到一个 JSONArray,而不是 JSONObject。你应该更换它
JsonArrayRequest jsonObjectRequest = new JsonArrayRequest({api_url},
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray jsonArray) {
JSONObject statusJson = jsonArray.optJSONObject(0);
String status = statusJson.optString("status");
Log.d("Status", "Status value == [ " + status + " ]");
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
推荐阅读
- xamarin - 在 xamarin 上动态应用字体更改?
- continuous-integration - 如何为 Google Pay 应用持续集成
- python - 如何标准化具有一定均值和标准差值的数据
- r - r 强制列表到数据框
- azure-functions-core-tools - 如何在 JavaScript 的 Fetch 调用中包含 URL 的 ID 查询参数?
- sql - Azure 数据工厂说临时表是“无效的对象名称”?
- javascript - 如何创建水平滚动时出现的侧边栏?
- c# - SharpDX DrawBitmap
- javascript - 在邮递员工作正常时调用 Post Api 时出现网络错误
- javascript - 在 Chrome 中滚动到视图时,CSS 动画没有运行。类未添加到元素中