如何在android中的数组中提取json数组

时间:2013-02-06 07:00:49

标签: android json arrays

我试图将一些json编码数据从cakephp传递到android,我在传递数据时遇到问题

我用左     echo json_encode($ todaysdata);     出口();

在CakePhp中

,当我在cakephp中调试此代码时,我在浏览器中得到一个结果

[{"status":{"uname":"sibin","pass":"shanu","upid":14}},
    {"status": {"uname":"amal","pass":"amalu","upid":14}}
]

我需要在Android

中单独提取这两个status详细信息

我在android中尝试了一个代码,它给出了结果,但结果重复了 我希望分别得到两个status的结果 如果有人知道,请帮助我。

2 个答案:

答案 0 :(得分:3)

status值设置为当前json字符串:

JSONArray jsonarr = new JSONArray("your json String");
for(int i = 0; i < jsonarr.length(); i++){

  JSONObject jsonobj = jsonarr.getJSONObject(i);
   // get status JSONObject
  JSONObject jsonobjstatus = jsonobj.getJSONObject("status");
  // get uname
  String str_uname=jsonobjstatus.getString("uname");
  // get pass
  String str_pass=jsonobjstatus.getString("pass");
  // get upid
  String str_upid=jsonobjstatus.getString("upid");
}

答案 1 :(得分:1)

尝试使用以下代码。

JSONArray jsonArray = new JSONArray("yourJsonResponseInString");

for(int i=0;i<jsonArray.length();i++)
{
    JSONObject e = jsonArray.getJSONObject(i);
    JSONObject jsonObject = e.getJSONObject("status");
    Log.i("=== UserName","::"+jsonObject.getString("uname"));
    Log.i("=== Password","::"+jsonObject.getString("pass"));
    Log.i("=== UId","::"+jsonObject.getString("upid"));
}