我使用一个应用程序在列表视图中向您展示管视频,但我没有得到正确的 JSON 格式。
JSONObject json = new JSONObject(jsonString);
Log.e("json Object : " +json);
JSONArray jsonArray = json.getJSONArray("items");
Log.e("json Array is : " +jsonArray);
List<Video> videos = new ArrayList<Video>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String title = jsonObject.getString("title");
String url;
try {
url = jsonObject.getJSONObject("player").getString("mobile");
} catch (JSONException ignore) {
url = jsonObject.getJSONObject("player").getString("default");
}
String thumbUrl = jsonObject.getJSONObject("thumbnail").getString("sqDefault");
videos.add(new Video(title, url, thumbUrl));
}
看起来你是安卓开发的新手(更新鲜)。让我分享一些在 android 开发中实现 json 解析的良好实践。
- 首先使用 JsonScheme2Pojo,放置你的 json 并创建一个 POJO 类 使用
- GSON 库,在其中你只需要使用几个方法来解析 json 并获取 POJO 对象列表。
谢谢大家,我得到了答案,我想和大家分享。
String response = getUrlString(url);
JSONObject json = new JSONObject(response.toString());
JSONArray jsonArray = json.getJSONArray("items");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONObject video = jsonObject.getJSONObject("snippet").getJSONObject("resourceId");
String title = jsonObject.getJSONObject("snippet").getString("title");
String id = video.getString("videoId");
String thumbUrl = jsonObject.getJSONObject("snippet").getJSONObject("thumbnails").getJSONObject("default").getString("url");
displaylist = new Videos(title, thumbUrl ,id);
displaylistArray.add(displaylist);
}