Lombok/Jackson - 用于 json 数组的 POJO

2024-01-31

我有一个 json 数组,需要从服务器接收(反序列化)并将其发送(序列化)到另一台服务器:

Example:

[
  {
    "car-name": "string",
    "parts": [
      "engine",
      "wheels"
    ]
  }
]

我开始编写以下 POJO 来表示这个 Json 数组:

import lombok.Builder;
import lombok.Singular;
import lombok.Value;


@Builder
@Value
public class Car {

    private String carName;
    @Singular("part")
    private List<String> parts;
}

有了这个:

  1. 我可以使用 Lombok 构建对象:

Car myCar = Car.builder().carName("Tesla").part("engine").part("wheels").build();

  1. 使用类似的东西解组unmarshal().json(Jackson, Car.class).

虽然 1) 和 2) 有效,但它们没有给我实际代表上面 json 示例的对象。

相反,他们给出了这个:

  {
    "car-name": "string",
    "parts": [
      "engine",
      "wheels"
    ]
  }

我尝试使用父类,如下所示:

import lombok.Builder;
import lombok.Singular;
import lombok.Value;

@Builder
@Value
public class Vehicle {

    private List<Car> vehicles;
}

但这也给了我一个错误的对象(注意“车辆”键与我上面示例中的键):

  {
    "vehicles": {
        "car-name": "string",
        "parts": [
             "engine",
             "wheels"
             ]
        }
}

我怎样才能编写一个 POJO 来表示这个 JSON 数组,最好使用 Lombok?还是杰克逊?


你不需要包裹List<Car> in Vehicle上课因为Vehicle代表JsonObject and vehicles是其中的一个属性。直接返回或者序列化即可List<Car>

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

Lombok/Jackson - 用于 json 数组的 POJO 的相关文章

  • int arr[ ] 是有效的 C++ 吗?

    我试图理解是否写作int arr 在 C 中有效 举个例子 int a is this valid extern int b is this valid int ptrB is this valid struct Name int k is
  • 将 Swing 集成到简单的文本冒险游戏中

    我对 Java 中的一些中级概念相当陌生 最近 我制作了一款名为 DazzleQuest 的文本冒险游戏 它完全在开发者控制台 终端中运行 它涉及到我的朋友作为角色 所以我想向他们展示它 并通过将命令行的功能和控制台的输出转移到一个简单的
  • 在 Selenium Grid 中注册 PhantomJS 节点时出错

    我有以下问题 我成功启动了 Selenium Grid hub java jar selenium server standalone 2 53 0 jar role hub 之后我尝试使用以下命令启动 PhantomJS 节点 phant
  • 是否可以在 PowerShell 中使 IndexOf 不区分大小写?

    我在终端服务器中由查询会话命令组成的数组中搜索索引时遇到问题 这是有问题的脚本 Array of logged users in terminal servers a Get RDUsersession CollectionName BLA
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • xclock 工作,X11 DISPLAY 设置但仍然 java.awt.HeadlessException:

    获取 java awt HeadlessException 似乎是一个非常常见的问题 并且 中已经讨论过 以下问题 没有 X11 DISPLAY 变量 这是什么意思 https stackoverflow com questions 662
  • 异步不适用于控制器的抽象超类方法

    我有一个BaseRestControllerRest 控制器扩展的类 它有一个我想异步运行的方法 public abstract class BaseRestController Async someThreadPoolTaskExecut
  • Matlab:如何显示数组的“真实”值?

    我有一个在脚本中计算的向量 计算后 我将值显示到命令窗口 显示如下 finalResults 1 0e 05 0 0001 0 0 0005 0 0002 0 0001 0 0027 0 0033 0 0001 0 0000 0 0000
  • GSSAPI 中的 javax.naming.AuthenticationException

    我正在尝试使用 JAVA GSSAPI 执行 NTLM 绑定 我收到此错误 javax naming AuthenticationException GSSAPI 根异常是 javax security sasl SaslException
  • Excel VBA 将范围值复制到数组,

    我有以下代码摘录 我试图将一系列值复制到声明的数组上 但它一直给我 无法分配给数组 错误 Dim permittedCurve 0 To 7000 As Variant permittedCurve activeWorkbook Works
  • 将 JPanel 添加到 JFrame

    我有一个程序 其中将 JPanel 添加到 JFrame public class Test Test2 test new Test2 JFrame frame new JFrame Test frame setLayout new Bor
  • 不幸的是 Project_Name 已停止

    我有一个简单的应用程序 您可以在文本视图中输入文本并按提交 它会在另一个活动中显示文本 然而 当我按下提交时 给我消息 不幸的是 发送已停止 我查看了SO上的其他线程 但是不幸的是 myfirstproject 在 java 中停止工作错误
  • 如何在不下载子项的情况下从 Firebase 获取子项密钥?

    我有一个 Firebase 数据库 其中的节点 items 有很多子项 我想导入子项键的列表 由于每个子项都包含相当多我对此不感兴趣的数据 因此我想仅下载子项密钥 以最大程度地减少传输的数据量 为了便于说明 假设我有以下数据结构 然后我想获
  • 在地图中的图块上实现鼠标单击事件

    我正在尝试在 JPanel 上实现图像 基本上是地图上的图块 的鼠标单击事件 我只是不知道该怎么做 我有一个扩展 JPanel 的 Main 类 我正在从图块服务器检索图块 并根据特定的缩放级别在 Main 类的 PaintComponen
  • JSONDecodeError:额外数据:Python [重复]

    这个问题在这里已经有答案了 我使用以下代码从文件加载 json file file name obj list with open file as f for json obj in f obj list append loads json
  • Groovy - 将对象转换为 JSON 字符串

    我非常习惯 Grails 转换器 您可以将任何对象转换为 JSON 表示 就像这样 http grails org Converters Reference http grails org Converters Reference retu
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码
  • Java编程编译jar

    我有一个文本文件中的java源代码 必须在源代码中输入一些自定义的硬编码变量 然后将其转换为 jar 这是可行的 但是当我运行 jar 时 找不到 Main 类 当我用 WinRAR 解压 jar 文件时 我似乎找不到错误 当我通过 cmd
  • 相当于 JavaScript 中 Ruby 的each_cons

    许多语言都曾提出过这个问题 但 javascript 却没有 Ruby 有方法Enumerable each cons https devdocs io ruby 2 5 enumerable method i each cons看起来像这

随机推荐

  • sap hana - 选择顶部表达式[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我的存储过程有问题 该过程获取所需行数作为参数 但以下内容在 HANA 中不起作用 SELECT TOP NUM OF ROWS
  • 在 iOS 模拟器中按两次 Home 按钮不起作用

    如果我尝试在与 Xcode 8 3 捆绑的 iOS Simulator 10 3 中使用键盘手势显示多任务菜单 它无法响应 然而 按下单个按钮和菜单中的选项仍然有效 我该怎么做才能让它再次工作 If you disconnect the h
  • ExoPlayer - 如何播放本地mp3文件

    我正在尝试使用 ExoPlayer 而不是 MediaPlayer 因为 MediaPlayer 返回错误的 getCurrentPosition 是一个常见错误 我需要一个替代品 但我无法在任何地方找到如何通过与 MediaPlayer
  • 创建具有默认值的合并两列的表

    是否可以创建一个包含组合两个列值的列的表 像这样的东西 创建表test1 number1 小数 6 2 number2 小数 6 2 总小数 6 2 DEFAULT number1 number2 是的 11G 它被称为 虚拟 列 语法是
  • 轻量级进程和线程有什么区别?

    我找到了问题的答案here http wiki answers com Q What is the difference between LWP and threads 但我不明白答案中的一些想法 例如 据说轻量级进程与其他进程共享其逻辑地
  • PG::ProgramLimitExceeded: 错误: 索引行需要 13904 字节,最大大小为 8191

    我有一个领域 t text po description null false 我试图在此字段中保存 200 300 行文本并收到溢出错误 PG ProgramLimitExceeded 错误 索引行需要 13904 字节 最大大小为 81
  • 动态生成 JavaScript 的最佳实践

    将动态内容添加到 JavaScript 尤其是配置设置 的最佳方法是什么 几种可能性是 将内容放置在动态生成的文件 例如 JSP PHP 等 中 而不是 JavaScript 文件中 可能使用对象文字 通过 ajax 从服务器请求 JSON
  • 打破单子序列

    是否有可能打破单子序列 例如 如果我想根据序列中间计算的某些条件提前打破序列 比如说 在 do 符号中 我绑定了一个值 并根据该值我想要完成序列或停止序列 有没有类似 pass 的功能 Thanks 直接使用if 你可以直接这样做Ingo
  • 仅在 enumerate 和 itemize 环境中更改 \parskip

    有什么办法可以改变我 parskip在某些环境中具有不同的值 即enumerate and itemize 我想在段落之间留有空格 setlength parskip 1em plus 1pt minus 1pt 但不在 itemize 或
  • [IOS]仅支持视网膜设备

    我真的很困惑 如果我只捆绑 2x 图像 并且我只有视网膜屏幕的布局 IOS会再次扩容吗 比如我传点 800 600 给opengl es IOS会改成 1600 1200 吗 因为我不想支持非视网膜设备 所以 800 600 已经是正确的位
  • 从 R 运行 linux 命令

    我有一堆随机文件 我将对每个文件运行 LINUX file 命令 Linux 屏幕将如下所示 m7 file date file csv date file csv ASCII text with CRLF line terminators
  • 使用 CoreGraphics 查找二次贝塞尔曲线的最小值/最大值

    我正在使用 CoreGraphics 绘制二次贝塞尔曲线 但想要计算曲线的最小 最大值 我不是数学背景 所以这变得有点麻烦 有谁有关于如何解决这个问题的文章或想法 对于二次贝塞尔曲线来说 这实际上非常简单 将三个控制点定义为P0 x0 y0
  • Nginx 重写查询参数并进行多次替换

    您好 我们使用 nginx 由于系统发生变化 我们必须临时使用查询参数对某些 URL 进行 301 处理 我进行了很多搜索但没有找到解决方案 我们想 将查询参数列表替换为新值 进行多次替换 所以我们的 URI 应该重写为 page manu
  • C# RSA 无填充

    我正忙着尝试移植如下所示的 Java 代码 Cipher rsa Cipher getInstance RSA ECB nopadding rsa init Cipher DECRYPT MODE RSAPrivateKey decrypt
  • Gson 使用存根序列化循环引用

    我正在尝试实现一些简单的 Json 序列化功能 但我很难应对 Gson 的巨大复杂性 所以基本上我有一堆实体类 它们通过大量循环引用相互引用 为了将此结构序列化为 JSON 我想跟踪已序列化的对象 实体类都实现了一个名为Identified
  • Scala 向后兼容性

    哪些变化或代码演变破坏了向后兼容性 主要是二进制兼容性 是否已在任何地方完全指定 我检查了Scala 语言规范 http www scala lang org docu files ScalaReference pdf 但没有看到任何关于此
  • 从特征序列化分解矩阵(SparseLU 对象)

    我正在尝试解决Ax b其中矩阵 A 可以大到接近1M x 1M在大小上 是稀疏且对称的 但可能没有明确定义 问题是使用以下方法计算分解可能需要很长时间稀疏LU对象 http eigen tuxfamily org dox devel cla
  • PPModel.php 第 51 行中的 PayPal REST API 问题

    每当我尝试使用 create php 在 paypal 上创建付款时 都会出现此错误 致命错误 找不到类 string public html demos demo files integrate paypal rest api php m
  • 删除观察者

    在 NSManagedObject 子类中 我有代码 void awakeFromInsert self addObserver NSApp delegate forKeyPath name options NSKeyValueObserv
  • Lombok/Jackson - 用于 json 数组的 POJO

    我有一个 json 数组 需要从服务器接收 反序列化 并将其发送 序列化 到另一台服务器 Example car name string parts engine wheels 我开始编写以下 POJO 来表示这个 Json 数组 impo