【问题标题】:create an array of all the keys in a JSONObject Android在 JSONObject Android 中创建一个包含所有键的数组
【发布时间】:2013-02-22 16:50:52
【问题描述】:

您好,我想在 JSONObject 中创建一个包含所有键的数组。我的理解(如果我错了,请纠正我)是我需要将 JSONObject 转换为 Map,然后从中创建一个 Array 有人知道该怎么做吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    无需将 JSONObject 转换为 Map 然后创建一个键数组,只需使用 JSONObject.names() 获取 JsonArray 中的所有键,然后将其转换为 Array 或 ArrayList。示例:

    JSONObject  json = new JSONObject("json object string");
    JSONArray namearray=json.names();  //<<< get all keys in JSONArray
    

    【讨论】:

      【解决方案2】:

      使用 [keys()][1] 迭代器遍历所有属性,并为每个属性调用 [get()][2]。

      Iterator<String> iter = json.keys();
      while (iter.hasNext()) {
          String key = iter.next();
          try {
              Object value = json.get(key);
          } catch (JSONException e) {
              // Something went wrong!
          }
      }
      

      【讨论】:

        【解决方案3】:

        试试这个:

        ArrayList<String> list = new ArrayList<String>();     
        JSONArray jsonArray = (JSONArray)jsonObject; 
        if (jsonArray != null) { 
           int len = jsonArray.length();
           for (int i=0;i<len;i++){ 
            list.add(jsonArray.get(i).toString());
           } 
        } 
        
        String[] array = list.toArray(new String[list.size()]);
        

        【讨论】:

          猜你喜欢
          • 2021-07-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-27
          • 1970-01-01
          • 1970-01-01
          • 2019-01-20
          • 1970-01-01
          相关资源
          最近更新 更多