解析单值JSON对象

时间:2018-06-27 08:08:57

标签: android json

我从这样的服务器收到服务器响应-

[
    {
        "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) {

                }
            });

我想以字符串形式获得“确定”,以便我可以与某些东西进行比较。 我该怎么办?

2 个答案:

答案 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对象:)