【发布时间】:2021-04-13 17:41:20
【问题描述】:
我是 JSON 新手,我对 json 数组有一些问题。我不知道如何解析那个“流派”数组。目前它只作为一个对象工作,但看起来不太好。
我希望“流派”显示 Drama,Musical 而不是 ["Drama","Musical"]
JSON:
{
"status_message":"Query was successful",
"data":{
"movie_count":25241,
"movies":[
{
"id":25805,
"title":"Rock Around the World",
"year":1957,
"genres":[
"Biography",
"Drama",
"Music"
],
解析代码:
ArrayList<Film> films = new ArrayList<>();
try {
JSONObject object = new JSONObject(jsonResponse);
JSONObject data = object.getJSONObject("data");
JSONArray movies = data.getJSONArray("movies");
for (int i = 0; i < movies.length(); i++) {
JSONObject details = movies.getJSONObject(i);
String title = details.getString("title");
int year = details.getInt("year");
String genres = details.getString("genres");
Film film = new Film(title, year, genres);
films.add(film);
}
这样的应用节目app
【问题讨论】:
-
你的错误在这一行
String genres = details.getString("genres");你应该像检索movies一样检索类型,一个array。像这样JSONArray genres = details.getJSONArray("genres"); -
我知道这一点,但在这之后我需要做什么?我需要写什么来制作电影电影 = 新电影?
-
这取决于您想对流派做什么以及如何显示它们。如果你想将它们显示为一个简单的句子,你可能想做这样的事情
genres.joinToString(),那样你会得到“genre1,genre2”而不是[“genre1”,“genre2”] -
我想正常显示它们。而不是 ["Drama","Music"] 成为 Drama,Music。