我从这样的服务器收到服务器响应-
[
{
"status": "ok"
}
]
在我的应用中,我使用排球加载数据:
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) {
}
});
我想以字符串形式获得“确定”,以便我可以与某些东西进行比较。 我该怎么办?
答案 0 :(得分:1)
您在一开始会收到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) {
}
});
答案 1 :(得分:0)
有一个更简单的解决方案:
JSON.parse(response[0]).status
JSON.parse是一个Javascript函数,可将字符串对象解析为有效的JSON对象:)