JSON:将许多对象视为对象数组

时间:2016-10-02 17:17:35

标签: android json gson logan-square

我有像这样的JSON

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

其中每一个" video_xxxx"属于SAME类型。有没有办法对待"视频"字段作为该类型的数组?我需要遍历所有视频,但是API并没有将它们发送到数组中,而且我不知道如何建模一个类来接收这个JSON,而无需手动指定所有字段名称...... / p>

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

2 个答案:

答案 0 :(得分: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));
}

答案 1 :(得分:0)

您不能将它们视为数组,但使用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