0

我有一个这样的 JSON

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

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

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

4

2 回答 2

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));
}
于 2016-10-02T18:39:11.307 回答
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

于 2016-10-02T18:14:58.010 回答