从json android中的对象获取对象

Posted

技术标签:

【中文标题】从json android中的对象获取对象【英文标题】:get object from Object in json android 【发布时间】:2022-01-24 05:17:42 【问题描述】:

如何从 json android 垂直获取对象。 我有垂直的对象。

        JSONObject obj = new JSONObject(loadJSONFromAsset());

        Log.d(String.valueOf(obj),"obj");

想要其他 4 个 卫生保健 环境保护 农产品 消费品

【问题讨论】:

【参考方案1】:

您可以从主要对象中获取 JSON 对象,如下所示:

1- 为您的 JSON 字符串创建模型类。您可以使用 jsonschema2pojo 或 Android 插件为您创建模型类。

2- 然后按照此代码进行操作

    Response response = new Gson().fromJson(loadJSONFromAsset(), Response.class);

    List<CartridgesItemItem> cartridges = response.getVerticals().getHealthCare().getCartridges();

    List<PackingRollsItemItem> packingRolls = response.getVerticals().getHealthCare().getPackingRolls();

    List<SterilizersItemItem> sterilizers = response.getVerticals().getHealthCare().getSterilizers();

Response 是我创建的主要模型类。

================================================ ======================

================================================ ======================

如果您想在 Android Studio 中安装插件以将 JSON 转换为模型类,请按照以下步骤操作:

1- 你可以去 Android Studio 设置 -> 插件 2- 搜索 RoboPOJOGenerator 并安装它 3-然后点击你的android工作室左侧的任何包/文件夹

Select package -> new -> Generate POJO from JSON

看这里

4- 粘贴您的 Json 字符串并为您的主类编写名称

看这里

5- 使用第二点中提到的上述代码将您的字符串作为模型类(响应)

注意:您可能需要在 build.gradle 应用中添加此依赖项

//GSON
implementation 'com.google.code.gson:gson:2.8.9'

希望这会有所帮助!!

【讨论】:

只想展示医疗保健、环境保健、农业保健和消费品保健。因为我想在 spinner 中填充它。我正在获取整个医疗保健 json 的数据,反之亦然 请分享您的完整 json。 它太长了.. drive.google.com/drive/u/0/folders/… 1.根据提供的 json 文件,显示 3 个下拉选项,即:垂直、子类别和产品。 2.产品的下拉菜单应该有搜索的建议选项。这是需要做的事情..你能帮帮我吗。【参考方案2】:

您可以轻松地创建带有响应的模型类: https://www.jsonschema2pojo.org/ 检查这个网站。如果您无法完成任务,请使用任何 android studio 插件来创建模型类。

【讨论】:

无法创建 pojo 类,因为数据太大 没问题,数据大或小都可以轻松创建pojo类 drive.google.com/drive/u/0/folders/… .can 你做一个 pojo 类。你能检查一下吗 你可以在这个网站jsonschema2pojo.org创建pojo类。如果您的数据是静态的并且从不更改,请创建一个文件并放入 assests 文件夹然后在 android studio 中读取 json 文件【参考方案3】:

最好的方法是创建一个 POJO 类。对此的替代解决方案是从 JSON 获取对象并在模型对象中使用它

JSONObject obj = new JSONObject(loadJSONFromAsset());
JSONObject healthCare = obj.optJSONObject("Health Care")

这只是从 JSON 获取 json 对象的另一种方式。 POJO 类应该是@Ali Ahmed 回答中提到的完成方式

【讨论】:

以上是关于从json android中的对象获取对象的主要内容,如果未能解决你的问题,请参考以下文章

从 Java Android 中的嵌套 JSON 对象获取数据

如何从片段中的 JSON 响应中的对象获取数据

如何找出 json 响应是 android 中的空 JSON 对象?

从JSON对象获取字符串值失败如果Identifier有空格android

尝试从 Android Studio 中的 json 对象中检索 json 值

通过复杂的Google Geocoding JSON对象中的键获取值-Java-android