【问题标题】:JSON: Treat many objects as array of objectJSON:将许多对象视为对象数组
【发布时间】:2016-10-02 17:17:35
【问题描述】:

我有一个这样的 JSON

{ "video":{  
        "video_3745":{  },
        "video_3437":{  },
        "video_3471":{  },
        "video_4114":{  }
      }
}

其中每个“video_xxxx”都是相同的类型。有没有办法将“视频”字段视为该类型的数组?我需要遍历所有视频,但 API 并未将它们发送到数组中,而且我不知道如何建模一个类以接收此 JSON,而无需手动指定所有字段名称...

GSON 或 LoganSquare 有什么可以帮助我解决这个问题的吗?

【问题讨论】:

    标签: android json gson logan-square


    【解决方案1】:

    试试这样的

    JSONObject video= json.getJSONObject("video"); // json is the whole response
    Iterator x = video.keys();
    JSONArray jsonArray = new JSONArray();
    
    while (x.hasNext()){
        String key = (String) x.next();
        jsonArray.put(video.get(key));
    }
    

    【讨论】:

      【解决方案2】:

      您不能将它们视为一个数组,但使用org.json.JSONObject 类,您可以获取键列表并对其进行迭代。我相信在 GSON 中 JsonObject.entrySet 方法将允许类似的事情。

      https://developer.android.com/reference/org/json/JSONObject.html https://google.github.io/gson/apidocs/com/google/gson/JsonObject.html

      【讨论】:

        猜你喜欢
        • 2020-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-02
        • 1970-01-01
        • 2018-11-13
        • 2016-12-06
        • 2014-12-02
        相关资源
        最近更新 更多