当前位置: 首页 > 面试题库 >

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

章城
2023-03-14
问题内容

我想用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;
}

请帮我。


问题答案:

是的,这是可能的。

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

我希望这就是你想要的



 类似资料:
  • 我正在尝试读取类似于我在Python中所做的YAML文件。但是我不知道如何使用任意键。我有以下我想阅读的YAML: 我知道如何读取文件,但只能使用空接口。我想把它作为我的项目类型的映射读入。 我在Stdout中得到的内容: 我想看到的是: 如何将我的 YAML 文件读入项目地图?

  • 我正在使用来解析Json数据。我的Json数据如下: GsonParse.java 我使用以下方法来解析此JSON数据。 我面对以下错误。

  • 我在使用java的解析包含小时、分钟和秒的字符串时遇到了麻烦。 这将引发以下异常: 线程 “main” java.time.format.DateTimeParseException 中的异常:无法在索引 0 处解析文本 '8:30:17'

  • 问题内容: 我有一些JSON数据,但所有键都为大写。如何解析它们并将键转换为更低的键?我正在使用jQuery。 例如: JSON数据: 所需的输出: 问题答案: 这个怎么样: 正则表达式捕获键名$ 1并将其转换为小写。 现场演示:http : //jsfiddle.net/bHz7x/1/ [edit]要解决@FabrícioMatté的评论,另一个仅匹配文字字符的演示: http //jsfid

  • 问题内容: 我应该如何使用Node.js解析JSON?是否有一些模块可以安全地验证和解析JSON? 问题答案: 你可以简单地使用。 JSON对象的定义是ECMAScript 5规范的一部分。node.js基于Google Chrome的V8引擎构建,该引擎遵循ECMA标准。因此,node.js也有一个全局对象。JSON 注意- 可以占用当前线程,因为它是一种同步方法。因此,如果你打算解析大型JSO

  • 问题内容: 我想解析传入的JSON数据,例如: 我使用的代码是: 但是我无法分配任何东西给。有什么建议? 问题答案: 该响应是一个Map,具有单个元素,键为“ 212315952136472”。地图中没有“数据”键。如果要遍历所有条目,请使用以下命令: 如果您知道它是单元素地图,则可以直接访问: 而且,如果您知道ID(例如,如果您使用它来发出请求),则可以更简洁地访问该值: