gpt4 book ai didi

java - 如何解决具有许多对象和属性的 Json 数组响应?

转载 作者:行者123 更新时间:2023-11-30 00:54:47 28 4
gpt4 key购买 nike

我需要帮助来了解使用将显示的大量 json 对象和属性处理 JSON 响应的推荐方法是什么(当用户点击列表项时,其中一些对象和其他属性可能会显示在详细信息窗口中)在 Android 的 ListView 中。

到目前为止,我知道您可能会使用 JSONObject 类来获取属性:

JSONObject resultObject = resultsArray.getJSONObject(i);

String title = resultObject.getString("original_title");
String posterPath = resultObject.getString("poster_path");
String overview = resultObject.getString("overview");
String date = resultObject.getString("release_date");


// Create a new {@link Movie} object with the magnitude, location, time,
// and url from the JSON response.
Movie movie = new Movie(title, posterPath, overview, date);

// Add the new {@link Movie} to the list of movies.
movies.add(movie);

但我的主要疑问是如果 JSON 属性更多,即需要添加到 ListView 的 20 个属性会发生什么:

最好的选择是什么?考虑到 JSON 将包含对象,例如:电影、 Actor 、统计数据等。

我是否必须创建不同的 Java bean 类才能创建实例?例如:

Movie movie = new Movie(title, posterPath, overview, date);

所以我想避免有一个巨大的构造函数参数。我应该只创建一个类并使用构建器模式吗?

最佳答案

您可以使用 GSON用于反序列化 JSON 数据的库。

你的 Movie 类应该是这样的:

class Movie {
String title;
String posterPath;
String overview;
String date;
}

并用 :

解析它
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
Movie movie = gson.fromJson(jsonInput, Movie.class);

如果你想添加/更新字段,你只需要更新你的Movie

关于java - 如何解决具有许多对象和属性的 Json 数组响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351268/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com