如何通过对象内对象的改造来解析json数据?

2024-03-02

我在网上看到了很多用于改造的 JSON 示例,但无法找到我拥有的 json 结构类型。我无法解决它。我有以下 json 数据,我试图用 java 在我的 android 应用程序中显示它们:

{
  "main": {
 "data": [
      {
        "Date": "2020-06-15",
        "name": "mary",
        "address": "NY"
      },
      {
        "Date": "2020-06-15",
        "name": "bob",
        "adress": "LA"
      },
      {
        "Date": "2020-06-15",
        "name": "John",
        "address": "CA"
      }
     ]
   }
}

另外我还有以下模型类:

-----------------------------------com.example.Datum.java-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Datum {

@SerializedName("date")
@Expose
private String date;
@SerializedName("name")
@Expose
private String name;
@SerializedName("address")
@Expose
private String address;

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

}
-----------------------------------com.example.Example.java-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Example {

@SerializedName("main")
@Expose
private Main main;

public Main getMain() {
return main;
}

public void setMain(Main main) {
this.main = main;
}

}
-----------------------------------com.example.Main.java-----------------------------------

package com.example;

import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Main {

@SerializedName("data")
@Expose
private List<Datum> data = null;

public List<Datum> getData() {
return data;
}

public void setData(List<Datum> data) {
this.data = data;
}

}

但是我无法制作接口类并在改造中使用模型。请通过示例建议适当的方法。谢谢。


我想你需要一个class像这样 :

public class Main{

    @SerializedName("main")
    private Main main;

    @SerializedName("data")
    private List<Datum> datas;

    public void setMain(Main main){
        this.main = main;
    }

    public Main getMain(){
        return main;
    }

    public void setCustomers(List<Datum> datas){
        this.datas = datas;
    }

    public List<Datum> getDatas(){
        return datas;
    }
}

当你写你的Datum class像这样的东西:

public class Datum {

@SerializedName("date")
@Expose
private String date;
@SerializedName("name")
@Expose
private String name;
@SerializedName("address")
@Expose
private String address;

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

}

你应该有 APIinterface像这样 :

@GET("/")
Call<Main> getMain();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过对象内对象的改造来解析json数据? 的相关文章

  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • java JFileChooser 文件大小过滤器

    我知道我可以按文件类型进行过滤 但是可以按文件大小进行过滤吗 例如 JFileChooser 仅显示 3 MB 以内的图片 简短的回答应该是 你尝试过什么 长答案是肯定的 JFileChooser fc new JFileChooser f
  • 将样式应用于警报对话框

    我决定尝试材质警报dialogs https material io develop android components dialog 在安卓上 我遇到的问题是当我尝试应用某些样式时 检查文档 我发现了这个
  • 如何使用 Java 原生接口从 Java 调用 Go 函数?

    可以通过以下方式调用 C 方法JNA https en wikipedia org wiki Java Native AccessJava 中的接口 如何使用 Go 实现相同的功能 package main import fmt impor
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • Java String.format 向整数添加空格

    我有一小段代码 我不明白输出 此输出向我的字符串格式文本添加空格 我做错了什么吗 public class HelloWorld public static void main String args int a1 540 int a2 4
  • 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

    web xml
  • Android - 测试另一个活动是否已开始

    我正在尝试测试以下场景 在自动完成文本视图中输入一个字母 向下滚动并选择其中一个选项 然后单击一个按钮 单击按钮将启动一个新活动 我想检查新活动是否已经开始 这是测试方法 public void testSpinnerUI mActivit
  • 在 PHP 中设置通知的 FCM 通道 ID

    我正在尝试使用 PHP 向 Android 设备发送 FCM 通知 我的代码适用于 Android O 之前的设备 在Android O中 我们还需要在请求中设置通道ID来接收通知 我不知道该怎么做 我已在应用程序中完成了必要的设置 并使用
  • Java中的DRY原则[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在读关于DRY https en wikipedia org wiki Don 27t repeat yourself原则 虽然看起来
  • 使用外部硬盘写入和存储 mysql 数据库

    我已经设置了 mysql 数据库在我的 Mac 上使用 java 和 eclipse 运行 它运行得很好 但现在我将生成大约 43 亿行数据 这将占用大约 64GB 的数据 我存储了大量的密钥和加密值 我有一个 1TB 外部我想用作存储位置
  • 当容器大小更改时,JTable 仅调整选定列的大小

    对于面板内的 JTable 如果面板变大 我如何将额外的空间仅分配给某些列 在我的例子中 分配给最后一列 尽管提供 第 3 4 列和8 将获得额外的空间 我想允许用户手动更改所有列的列大小 我尝试了 table setAutoResizeM
  • 用 Java 创建迷宫求解算法

    我被分配了用 Java 创建迷宫求解器的任务 这是任务 Write an application that finds a path through a maze The maze should be read from a file A
  • DeadSystemException启动服务Android 7

    在过去的几周里 我在我的事故报告中看到 Fatal Exception java lang RuntimeException Unable to start service com MyService ef705d8 with Intent
  • ProGuard 与 Android:java.lang.NoSuchMethodError:android.util.Xml.asAttributeSet

    当 ProGuard 被禁用时 我的应用程序运行正常 启用ProGuard后 应用程序将导出为apk并安装到模拟器中 然后当我在模拟器中运行它时 强制关闭 05 10 11 14 10 582 E AndroidRuntime 759 FA
  • 为什么在尝试使用 Java 连接到 RDS PostgreSQL 数据库时会收到 SocketTimeoutException?

    我有一个 Spring 应用程序 我试图在 AWS 上托管 几天来我一直在努力配置 我有一个 EC2 实例 并且能够通过 SSH 连接到它 我还在 AWS 中设置了 Postgres RDS 数据库 但我无法使用 IDE 中的代码连接到它
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • 如何自动更新Android Studio?

    我需要将 Android Studio 更新到 0 9 9 版本 但是当我按 下载 在更新信息对话框上 时 它会将我发送到此处 http developer android com sdk index html http developer
  • 日期时间解析异常

    解析日期时 我的代码中不断出现异常错误 日期看起来像这样 Wed May 21 00 00 00 EDT 2008 这是尝试读取它的代码 DateTimeFormatter formatter DateTimeFormatter ofPat

随机推荐

  • JNI 错误:访问过时的弱全局引用

    我在本机代码中缓存了对 Java 对象的引用 如下所示 java global reference deleter JAVA ENV is an instance of JNIEnv that is cached globally and
  • Apache Nifi:使用更新记录处理器替换列中的值

    我有一个 csv 看起来像这样 name code age Himsara 9877 12 John 9437721 16 Razor 232 45 我必须更换色谱柱code根据一些正则表达式 我的逻辑如下面的 Scala 代码所示 if
  • 如何在 couchdb 中索引多维数组

    我有一个多维数组 我想用 CouchDB 对其进行索引 实际上使用 Cloudant 我的用户有他们所属团队的列表 我想搜索找到该团队的每个成员 因此 获取所有具有 ID 为 79d25d41d991890350af672e0b76faed
  • 数据建模草稿/报价/订单/发票

    我目前正在开发一个小项目 我需要对以下场景进行建模 Scenario 客户打电话来 他想要一辆新车的报价 销售代表 登记客户信息 销售代表 在系统中创建报价 并将一个项目添加到报价中 汽车 销售代表 通过电子邮件将报价发送给客户 客户接受报
  • GWT 应用程序仅在 IE 中抛出“JavaScriptException”,堆栈跟踪没有有用的信息

    我的 GWT 应用程序在某个时刻抛出 JavaScriptException 此问题仅出现在 Internet Explorer 中 IE 8 和运行 IE7 模式的 IE 8 堆栈跟踪如下 com google gwt core clie
  • App Center iOS 安装错误:“无法安装此应用程序,因为无法验证其完整性”

    我发现这个问题已被问过很多次 但我没有看到适合我的解决方案 因此我希望提供更多信息可能会有所启发 We use 应用中心 ms https appcenter ms 测试 iOS 应用程序 在我们的 iOS 证书过期之前 此方法运行良好 我
  • 从设备查看或检索 Core Data .sqlite 文件

    我怎样才能真正在真实设备 而不是模拟器 上查看核心数据存储的 sqlite 文件 是否有工具可以让您查看核心数据信息 在 Xcode 中 打开设备窗口 shift cmd 2 从左侧列表中选择您的设备 从 已安装的应用程序 列表中选择您的应
  • 如何自动补全特定目录下的文件?

    我创建了一个命令memo如下 memo vi HOME memo 1 我想将 bash completion 应用于我的memo打开已经存在的文件 HOME memo目录 memo TAB to show files in HOME mem
  • 凸多面体的质心

    我有一个封闭的凸多面体 它由凸多边形 面 数组定义 而凸多边形 面 由 3D 空间中的顶点数组定义 我试图找到多面体的质心 假设密度均匀 目前我用这个伪代码中的算法计算它 public Vector3 getCentroid Vector3
  • VirtualBox 上的 Mac 操作系统无法识别 Iphone

    我一直在尝试将 iPhone 连接到 Mac OS High Sierra 我已经安装在 VirtualBox 上来测试我正在尝试开发的 swift 应用程序 但是 即使我将手机连接到 USB 我也无法从设备中选择手机 设备部分中的消息显示
  • JavaFx setOnCloseRequest & 文件检查等待

    我有两个窗户 如果属性文件不存在 则启动第一个 第二个是 我希望它 在文件已经存在或用户单击创建文件的按钮时打开 这是代码 try if f exists input new FileInputStream config propertie
  • Ruby on Rails 自定义迁移生成器

    我正在创建一个与 Active Record 紧密集成的 Rails gem gem 需要定义许多字段 例如 class User lt ActiveRecord Base requires avatar identifier avatar
  • xcode 7 类型参数不能应用于非参数化类

    我今天在我的 xcode 项目中遇到这个错误 我以前从未遇到过 自上次成功构建以来我所做的唯一更改是导入了 iAD 框架 今天早上我在尝试进行新构建之前执行了此操作 所以我不确定它是否与此有关 我不过我对此表示怀疑 所有问题都与 NSSet
  • 如何避免级联错误消息

    我正在尝试设计一个应用程序错误处理程序来解决任何未处理的异常 但在某些情况下我似乎无法解决不良行为 Application DispatcherUnhandledException每当 UI 外部的线程遇到问题时就会被调用 这将依次调用Ap
  • Android Lollipop 工具栏与自定义视图

    我刚刚读到 Android Lollipop 中的新工具栏 它继承自ViewGroup 为什么使用新工具栏比 LinearLayout 有优势 发表一下自己的看法 解释 你应该开始使用ToolBar而不是ActionBar 这直接取自 An
  • PHP-解析txt文件

    我有一个 txt 文件 其中包含以下详细信息 ID NAME DESCRIPTION IMAGES 123 test Some text goes here image 1 jpg image 2 jpg 133 hello some ot
  • 在 jQuery 中动态添加点击处理程序

    我有一个 MVC 应用程序 其中顶部菜单是动态构建的 如下所示 each data function index dataMenu if i 0 stringBuilder push li class home a href dataMen
  • PHP 在肥皂调用中重复元素

    我尝试从 PHP 进行肥皂调用时遇到问题 首先是一些背景信息 呼叫将转到一个在大型 CRM 系统上进行人员搜索的系统 它需要姓名 城市 出生日期等信息 成功时 应返回一个或多个 id 肥皂接口是系统的标准部分 因此我无法影响调用的布局 我首
  • Axon 框架:删除聚合根

    老实说 我不知道从哪里开始 存储库方面相对简单 但我似乎找不到任何有关如何通过 CommandGateway 删除聚合根的信息 任何有关如何实现这一目标的指示和 或文档将不胜感激 将其放在这里 以供其他可能像我最初一样迷失的人将来参考 使用
  • 如何通过对象内对象的改造来解析json数据?

    我在网上看到了很多用于改造的 JSON 示例 但无法找到我拥有的 json 结构类型 我无法解决它 我有以下 json 数据 我试图用 java 在我的 android 应用程序中显示它们 main data Date 2020 06 15