0

请问我真的需要你帮助处理这段代码吗,我正在使用 loopj.com/android-async-http 与服务器通信,一切正常,但一直在尝试遍历我从服务器获取的 json 对象。

{"rows":[{"Fname":"Eb\'rahim","Lname":"Durosimi","Predictions":"4","Cpredictions":"3","Points":"15"} ,{"Fname":"Otunba","Lname":"Alagbe","Predictions":"5","Cpredictions":"2","Points":"10"},{"Fname":"Olamide ","Lname":"Jolaoso","Predictions":"4","Cpredictions":"2","Points":"10"},{"Fname":"g","Lname":"ade ","Predictions":"1","Cpredictions":"1","Points":"5"},{"Fname":"Tiamiyu","Lname":"waliu","Predictions":"1","Cpredictions":"1","Points":"5"}]}

但是 bin 无法正确处理,尝试了不同的示例但无济于事。

 public void onSuccess(String content) {
            // TODO Auto-generated method stub
            super.onSuccess(content);
            try {
                JSONObject json = new JSONObject(content);
                JSONObject leaders= json.getJSONObject("rows");
                Log.d("leaders",leaders.toString());
                for(int i=0;i<leaders.length(); i++){
                    String fname = leaders.getString("Fname");
                    Log.d("First Names",fname);
                }

            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

谢谢你的帮助

4

2 回答 2

11

试试这个..

{ ==>JSONObject[ ==>JSONArray

try {
    JSONObject json = new JSONObject(content);
    JSONArray leaders= json.getJSONArray("rows");
    Log.d("leaders",leaders.toString());
    for(int i=0;i<leaders.length(); i++){
        JSONObject jsonas = leaders.JSONObject(i);
        String fname = jsonas.getString("Fname");
        Log.d("First Names",fname);
    }
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
于 2013-12-14T06:01:16.317 回答
0

通过这种方式,您可以将从 web 服务接收到的所有数据存储到 hashmaps 的数组列表中。

ArrayList<HashMap<String,String>> alist=new ArrayList<HashMap<String,String>>();

    try {
    JSONObject json = new JSONObject(content);          
    JSONArray jArray = json.getJSONArray("rows");
                JSONObject json_data = null;
                for (int i = 0; i < jArray.length(); i++) {
                    json_data = jArray.getJSONObject(i);
                    String fname = json_data.getString("Fname");
    String lname = json_data.getString("Lname");                
                    HashMap<String, String>map=new HashMap<String, String>();
                    map.put("Fname",Fname);
                    map.put("LName", Lname);
                    alist.add(map);
                }
于 2013-12-14T06:12:16.140 回答