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

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

        JSONObject obj = new JSONObject(loadJSONFromAsset());

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

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

【问题讨论】:

    标签: android arrays json


    【解决方案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。
    • 它太长了..
    • 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 回答中提到的完成方式

    【讨论】:

      猜你喜欢
      • 2013-03-05
      • 2015-09-10
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      相关资源
      最近更新 更多