我试图将一些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
的结果
如果有人知道,请帮助我。
答案 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"));
}