如何反序列化 JSON 数组?

2023-11-25

我在 CXF 中使用 Jackson 来序列化/反序列化数据。不幸的是,我在配置 CXF/Jackson 来反序列化 JSON 数组时遇到困难。我很乐意帮助解决这个问题。

到目前为止,大部分 json 数据都是对象格式,即

{ "objectCollection": [ {...}, {...}, {...}... ] }

但是,所讨论的 json 数据的形式为:

[ {...}, {...}, {...} ]

Web 服务端点需要一个“GroupsDto”对象(见下文) 具有单一属性——一组组的集合,即 通过 JSON 数组传输。

@PATH(...)
public Response createGroups(GroupsDto groups) {
...
}

我将 @JsonDeserialize 添加到 GroupsDto 集合属性中,但它不起作用。我继续收到:“无法将 GroupsD 实例反序列化到 START_ARRAY 令牌之外”

public class GroupsDto {

       private Collection<GroupDto> groups;

       /**
        * @return the groups
        */
       @XmlElement(name="group")
       @JsonDeserialize(contentAs=GroupDto.class)
       public Collection<GroupDto> getGroups() {
               return groups;
       }
...
}

如果 json 数据的形式为:

[ {...}, {...}, {...} ]

你必须使用添加另一个类说“包装器”:

@JsonIgnoreProperties(ignoreUnknown = true)
public class ListDto extends ArrayList<GroupDto> {

    public ListDto() {
    }
}

并在反序列化时使用此类。这种方法对我有用。

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

如何反序列化 JSON 数组? 的相关文章

随机推荐

  • 如何在C中对单个字符执行scanf [重复]

    这个问题在这里已经有答案了 在C中 我正在尝试从用户那里获取字符scanf当我运行它时 程序不会等待用户输入任何内容 这是代码 char ch printf Enter one char scanf c ch printf c n ch 为
  • 将项目的不同版本导入到 Eclipse 中

    我在 Eclipse 中有一个项目 现在我想导入另一个具有不同名称和位置的项目 但具有相同的结构 相同的包 很多相同的类 但是当我尝试导入它时 它说 某些项目无法导入 因为它们已经存在于工作区中 如果我想拥有一个项目的两个版本该怎么办 我应
  • MEF 导出是缓存还是每次请求时都会发现?

    如果我有一种类型 MyClass 请注册 Export typeof Myclass 属性 以及 PartCreationPolicy CreationPolicy Shared or PartCreationPolicy Creation
  • 如何从“浏览”选项卡中排除文件夹?

    我正在尝试排除上的几个文件夹ExploreVisual Studio Code 中的选项卡 为此 我添加了以下内容jsconfig json到我的项目的根目录 compilerOptions target ES6 exclude node
  • 如何捕获传单弹出窗口上的点击事件

    我在传单地图上同时打开多个弹出窗口 并且它们可以重叠 如果单击 我想将弹出窗口置于前面 虽然我可以轻松地点击地图map on click function e do something 我似乎无法用弹出窗口做同样的事情 如何捕获 L Pop
  • 带有圆角边缘的 ActionBar

    我想知道 是否可以使我的 ActionBar 具有圆角边缘 更具体地说 仅顶部圆角 左上 右上 我做了一些搜索 但大多数方法都已经过时 对我不起作用 我正在使用 AppCompat 支持库 v22 1 1 我已经制作了我想要实现的目标的图像
  • Next JS - getStaticProps 不返回任何内容

    我正在将 Next js 与上下文 API 和样式组件一起使用 但我似乎无法理解getStaticProps在职的 我读过其他帖子 他们经常谈论习俗 app我确实有 但在使用 context API 之前我从未遇到过这个问题 我也尝试过ge
  • 尝试时从 CultureInfo 中缺少国家和地点

    我需要本地化一个应用程序 并注意到有几个国家 地区没有出现在与cultureInfo 关联的县代码列表中 塞浦路斯就是一个例子 我想可能还有其他例子 如果我需要本地化塞浦路斯的设置 或其他缺失的设置 我将如何重命名我的资源文件 以便它们呈现
  • PHP PDO 多重选择查询始终删除最后一个行集

    我在使用 PDO 语句进行多项选择时遇到了似乎是错误的问题 我正在构建一个包含许多 SELECT 的 SQL 查询 无论它生成多少个 SELECT 语句 最后一个行集都会被删除 这是发生的事情的截断示例 pdo connection stu
  • 强制 C++ 结构紧密包装

    我正在尝试读取二进制文件 问题在于文件的创建者没有花时间将数据结构与其自然边界正确对齐 并且所有内容都包装得很紧 这使得使用 C 结构读取数据变得困难 有没有办法强制struct打包紧 Example struct short a int
  • 如果一个OU包含3000个用户,如何使用DirectorySearcher找到所有用户?

    我使用这段代码 DirectoryEntry objEntry DirectorySearcher objSearchEntry SearchResultCollection objSearchResult string strFilter
  • 从 UICollectionViewCell 使用 UICollectionView

    我有一个自定义 UICollectionViewCell 其内容也是一个集合 我想使用 UICollectionView 来显示其内容 这可能吗 我将如何实现这个目标 我制作了自定义 UICollectionViewCell 也继承自 UI
  • 是否可以在 Javascript 中发出跨域请求并设置自定义标头?

    由于您无法在 JSONP 调用上应用自定义标头 如何使用 jQuery 发出跨域请求并应用自定义标头 我基本上尝试使用 jQuery 访问 google 文档 并且需要传递身份验证令牌 var token my auth token aja
  • 影响 gcc 中的函数克隆/复制/持续传播

    跑步时gcc使用 optimizations on 时 当它认为函数位于热路径中或有常量传播到函数参数时 它会克隆 重复 C 函数 更具体地说 这似乎是由fipa cp clone option 有什么办法可以影响这个吗 例如 使用某些属性
  • 在 NHibernate 3 中使用 Linq 时的预加载

    我需要在 NHibernate 3 trunk 版本中急切加载 Linq 的帮助 我有这样的多对多关系 public class Post public int Id get set public IList
  • Android WebView 编译表单并使用 Javascript 提交

    我正在尝试填写此表格 http www lbalberti it whatsup asp codist 57247 我能够向两个文本框插入值 但按钮不起作用 Override protected void onCreate Bundle s
  • 如何使用FireMonkey截图(多平台)

    我还没有找到在 FMX Platform 中获取屏幕截图的功能 无论如何 其他地方都没有 对于 VCL 有很多答案 stackoverflow google 但是如何在 Windows 和 Mac OS X 中获取图像 位图或其他 的屏幕截
  • 如何从单个 Docker 映像定位多个 .NET Core 版本?

    我有一个目标库 NET 标准 2 0 为了验证兼容性 我想使用 NET Core 的当前版本和长期支持 LTS 版本运行单元测试 当写这个问题时 这些是 Target Framework Target framework moniker T
  • 如何以编程方式动态地为 UIButton 的背景图像着色?

    我正在开发一个应用程序 或者更确切地说是一些可重复使用的 框架 一旦它起作用我很乐意分享 在此应用程序中 用户应该能够从颜色主题列表中进行选择 因此 应用程序必须能够以某种相当动态的方式为其 UI 元素着色 对于按钮 所有着色都不起作用 此
  • 如何反序列化 JSON 数组?

    我在 CXF 中使用 Jackson 来序列化 反序列化数据 不幸的是 我在配置 CXF Jackson 来反序列化 JSON 数组时遇到困难 我很乐意帮助解决这个问题 到目前为止 大部分 json 数据都是对象格式 即 objectCol