将 LinkedHashMap 转换为 Java 中的对象

2023-11-29

我将直接从我的问题开始,然后提供更多背景信息。

Simple: 我有一个LinkedHashMap<String, String>它代表一个特定的对象。 将其转换为该对象的最佳方法是什么?

我知道您可以使用泛型来获取所有元素并设置字段,但是什么是嵌套对象?

背景:我有一个使用 JSON 对象的 JAX-RS 服务。我的服务处理不同类型的对象并且仅代表一个接口。所以我不知道哪些对象来自外部以及哪个程序正在使用我的服务。

在运行时我通过获取信息@Inject在我的界面上。 JAX-RS 服务将来自客户端的数据存储在非类型化对象中,并自动完成(这就是LinkedHashMap<String, String>).

通过我的界面,我想提供一个类似的方法setObject并且参数应该是该类型的对象。我可以处理所有这些,但不能处理转换对象的部分LinkedHashMap<String, String>到那个特定的对象。

结构示例: 目标对象可能会喜欢这样

public class Document {
    private String title;
    private String id;
    private int version;
}

The LinkedHashMap看起来像那样

{title=some title, id=1, version=1}

您可以创建两个类

@XmlAccessorType(XmlAccessType.FIELD) 
public class Document {
    @XmlElement
    private String title;
    @XmlElement
    private String id;
    @XmlElement
    private int version;
}  


@XmlAccessorType(XmlAccessType.FIELD)
public class MapJson {
    @XmlElement
    private LinkedHashMap<String, String> documents; 
}  

并将对象转换为 JSON 使用
杰克逊

new org.codehaus.jackson.map.ObjectMapper().writeValueAsString(instanceofMapJson);  

谷歌 JSON

new com.google.gson.Gson().toJson(instanceofMapJson);  

附言。使用 google json,您可以从类中删除 xml 注释

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

将 LinkedHashMap 转换为 Java 中的对象 的相关文章

随机推荐

  • 空手道机器人:无法使用图像单击按钮

    I am using Karate robot for clicking a button using image Below is my code 机器人 应用程序 Chrome 突出显示 true 机器人 输入 OracleDriver
  • 透明AlertDialog有黑色背景

    我有一个习惯AlertDialog风格使得AlertDialog盒子透明 它工作正常 除了当我将所需的透明布局膨胀到警报对话框窗口时 它显示为黑色背景 我的目标是拥有一个完全透明的AlertDialog看起来好像只有 4 个按钮浮动 而不是
  • 有没有办法知道表中最后一次提交的值?

    我正在使用 Postgres 9 5 如果我更新一行的某些值并提交 之后有什么方法可以获取旧值吗 我在想有没有类似闪回的东西 但这将是选择性的闪回 我不想回滚整个数据库 我只需要恢复一行 简短的回答 这是不可能的 但对于未来的读者 您可以创
  • 如何获取鼠标单击相对于摆动窗口的位置

    假设我在 Java Swing JFrame 中 我点击鼠标 我想获取鼠标点击的位置在图形用户界面内 在java中 该行 int mouseX MouseInfo getPointerInfo getLocation x 似乎给出了鼠标在整
  • 求所有小于200万素数的和需要多少时间?

    我试图解决这个问题欧拉计划问题 我用java实现了欧拉筛作为辅助类 它对于小数字来说非常有效 但是当我输入 200 万作为限制时 它不会返回答案 我使用 Netbeans IDE 有一次我等了好几个小时 还是没有打印出答案 当我停止运行代码
  • 如何进行肤色匹配

    face body 你好 我是图像处理和 openCV C C 的新手 我想知道是否可以从第一张图像 脸部 中提取肤色 然后应用到第二个图像 身体 换句话说 用户上传他的面部图像 程序从该图像中提取肤色并将其应用到身体上 Thanks Ai
  • 如何让 getIntent().getExtras() 在片段中工作,“getIntent 未定义该类型”

    您好 我正在尝试将活动更改为片段 以便我可以将其添加到滑动布局中 我想我即将完成 除非任何人都可以看到我的代码中的任何其他错误 但我找不到解决方案任何地方都有问题 它说 getIntent 对于SoftwarePageFragment类型是
  • 如何对 Mathematica 笔记本中的单元格标签进行自动编号?

    我尝试按照 Mathematica 8 笔记本中的自动编号单元格的说明进行操作 此处 http reference wolfram com mathematica tutorial AutomaticNumbering html 我创建了一
  • 如何确定用户输入是奇数还是偶数?

    我应该找出用户输入的 5 个数字是否都是奇数或偶数 它应该有一个看起来像这样的输出 gt gt gt Enter 5 integers e g 1 2 3 4 5 1 2 3 4 5 The array contains odd and e
  • std::pair 排序定义明确吗?

    看来我可以排序std vector
  • !function ($) { $(function(){ }) }(window.jQuery) 的作用是什么?

    我正在使用 twitter bootstrap 创建一个网站 并尝试初始化工具提示 除了添加以下内容之外 rel tooltip tooltip in application js unless I retain the following
  • 类变量的行为类似于实例变量 (Python 3.4)

    Python 3 4 0a1视窗8 1 创建的类 class Bank object bankrupt False 在空闲状态下输入命令 main 结果如下 gt gt gt a Bank gt gt gt b Bank gt gt gt
  • 全局let变量存储在哪里? [复制]

    这个问题在这里已经有答案了 我在全局范围内创建了一个导航器变量 并使用它为其分配了一个字符串let关键词 in a browser let navigator Hello console log navigator Hello consol
  • Highchart - 图例的工具提示

    我使用高图来表示数据 在我的图表中 根据条件 某些系列被禁用 有什么办法可以去掉图例吗itemhoverstyle残疾人系列的财产 有什么方法可以为图例项添加工具提示吗 You can remove系列来自传说 series name se
  • 从另一个目录读取.txt 文件

    我正在运行的代码位于 Test1 Example 如果我需要读取 txt 文件 Test1如何让 Java 返回目录树中的一级 然后读取我的 txt 文件 我已经搜索 谷歌搜索 但无法找到读取不同位置的文件的方法 我正在位于 Test1 T
  • 将 python3 设置为 Mac 上的默认 python

    我在这里想做的是将 python3 设置为我的默认 python 除了mac上自动安装的python 2 7外 我安装了python3 with homebrew 这是我正在关注的网站 http docs python guide org
  • 在图像中查找参考点的最快方法

    我正在寻找找到一个或多个参考点 可能是 或矩形 的最快方法 我的第一个想法是 从图像的中点开始 在所有 4 个方向上迭代查找彩色像素 但在这种情况下 我不清楚如何处理像 这样的符号 希望我的描述是清楚的 问候 UPDATE Like in
  • 如何分析 Python 中的内存使用情况?

    我最近对算法产生了兴趣 并开始通过编写一个简单的实现然后以各种方式对其进行优化来探索它们 我已经熟悉用于分析运行时的标准 Python 模块 对于大多数事情 我发现 IPython 中的 timeit 魔术函数就足够了 但我也对内存使用感兴
  • 如何在第一次完成 Discord Bot 后播放下一首歌曲

    我正在尝试使用discord py 创建一个Discord 音乐机器人 我是Python 新手 我不知道如何让Bot自动播放下一首歌曲 我尝试了很多不同的事情 这是我当前播放一首歌曲的代码 vc play discord FFmpegPCM
  • 将 LinkedHashMap 转换为 Java 中的对象

    我将直接从我的问题开始 然后提供更多背景信息 Simple 我有一个LinkedHashMap