0

我的 Json 对象数组看起来像

 [{"Temp_Password":"arun111","Password":""}]

在我的 Android 代码中,我使用 AsyncTask 任务来执行 HTTP 请求,在 preexecute method() 中通过使用 toast 我可以将其作为字符串[{"Temp_Password":"arun111","Password":""}]

我试图在这个 Json 中获取单个值,但我无法得到预期的结果

我的 Java 代码

 protected void onPostExecute(String result) {
        //View your result here.
           JSONArray arr = null;
           String a = null;
           String b = null;
           try {
            arr=new JSONArray(result);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           JSONObject obj=new JSONObject((Map) arr);
            try {
            a = obj.getString("Temp_Password");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            b = obj.getString("Password");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           Toast.makeText(Certify_Login.this,a, Toast.LENGTH_LONG).show();
           Toast.makeText(Certify_Login.this,b, Toast.LENGTH_LONG).show();
       }

错误

   03-08 00:50:33.426: E/AndroidRuntime(1788): java.lang.ClassCastException: org.json.JSONArray cannot be cast to java.util.Map
4

1 回答 1

0
JSONObject obj=new JSONObject(arr);

删除 Map 并尝试,因为 JSONObject 需要一个 JSONArray,问题是它被输入到 Map Object

于 2014-03-08T06:26:54.073 回答