如何用android上的任何键解析JSON?

时间:2014-11-28 09:33:39

标签: android json

我想用Android上的任何键解析JSON。 JSON数据由任何键,数组或值组成。 这是JSON数据和我的工作代码。 我想通过使用JSON解析将JSON数据放入类中。

JSON数据:

{
   "d520c8c17c8e":
        {   "id":"25689123",
            "number":"0e31b1994"
        },
   "d183c6e9913d":
        {
           "id":"25689123",
           "number":"0e31b1994"
         },
   "content":"8090986565488990",
   "text":"hello",
   "status":"ok"
}

我的代码:

public static MyInfo getMyInfo(JSONObject json) {
    MyInfo info = new MyInfo();
    if (json == null)
        return null;
    try {

        info.setContent(json.getString("content"));
        info.setText(json.getString("text"));
        info.setStatus(json.getString("status"));

        ArrayList<MyList> mylists = new ArrayList<MyList>();

        JSONArray  panels = json.getJSONArray(????????????);
        for(int i=0;i < panels.length();i++){                          
            JSONObject e2 = panels.getJSONObject(i);
            MyList info_list = new MyList();

            info_list.setId(e2.getString("id"));
            info_list.setNumber(e2.getString("number"));

            info_list.add(info_answer);
        }

        info.setList(info_list);

    } catch (JSONException e) {

    } 
    return info;
}

请帮帮我。

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。

将您收到的JSON放在JSONObject中。您可以循环播放keys并从中获取values

示例:

//Create json object from string
JSONObject newJson = new JSONObject(json);

// Get keys from json
Iterator<String> panelKeys = newJson.keys();

while(panelKeys.hasNext()) {
     JSONObject panel = newJson.getJSONObject(panelKeys.next()); // get key from list
     String id  = panel.getString("id");
     String number  = panel.getString("number");
}

我希望这就是你要找的东西