0
{
    "status": "ERROR", 
    "msg_content": "Your old password was entered incorrectly. Please enter it again.",
    "code": "400", 
    "msg_title": "Sorry. Error in processing your request"
}

if (str.startsWith("Bad Request"))
{
    textview.setText(" ");                          
}

如何在 textview 中打印以显示msg_content使用 json

4

5 回答 5

2

您将需要创建一个 JSONObject 并将字符串作为参数传递给它。

JSONObject obj = new JSONObject(str);

然后要在刚刚调用的 JSONObject 中找到一个键,在尝试检索它之前始终检查 JSONObject 是否具有该键。

if (obj.has("status"){
   String status = obj.getString("status");
}

if (obj.has("msg_content"){
   String content = obj.getString("msg_content");
   textview.setText(content);
}
于 2012-11-02T10:35:40.003 回答
2

您需要使用 JSON 对象解析 json。

JSONObject obj = new JSONObject(str);

然后从 JSON 对象中找到任何你想要的字符串。

if (obj.has("msg_content")) {
         String value = obj.getString("msg_content");
         textview.settext(value);
}
于 2012-11-02T10:45:49.627 回答
1

JsonReader 在 API 11 中实现。如果你想在 GingerBread 或以下使用它,试试这个

于 2012-11-02T10:35:13.717 回答
1

使用以下代码从 JSON 对象中提取信息:

try {         
          Iterator keys = jsonObject.keys();

            while (keys.hasNext()) {
                String key = (String) keys.next();
                if(key.equals("msg_content"))
                    textView.setText(jsonObject.getString(key));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

此外,如果您将 JSON 作为字符串,您可以使用以下代码填充对象:

try {
        jsonObject = new JSONObject(theJsonString);
    } catch (JSONException e1) {
        e1.printStackTrace();
    }
于 2012-11-02T10:59:17.433 回答
0

我对 JSON 很陌生,但我会创建一个 JsonReader 并按照这里解析 JSON

于 2012-11-02T10:32:06.120 回答