一尘不染

如何使用Android上的任何键解析JSON?

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;
}

请帮我。


阅读 358

收藏
2020-07-27

共1个答案

一尘不染

是的,这是可能的。

将收到的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");
}

我希望这就是你想要的

2020-07-27