当前位置: 首页 > 知识库问答 >
问题:

将JSON转换为POJO时应该出现POJO类?

巩才捷
2023-03-14

我正在尝试将JSON转换为POJO类。这个JSON是我从第三方REST API调用得到的,我想把它转换成POJO类。为此,我使用jackson databind jar,下面是我代码的一部分。

 ObjectMapper mapper = new ObjectMapper();
 Object modelObject; // object in which I want to convert my JSON object
 mapper.writeValue(request.getShipmentDataJson(), modelObject);

这里现在不是POJO类,我声明了Object类型的ModelObjcet变量,我的问题是我们是否需要在将JSON转换为POJO之前创建带有必填字段和getter setter方法的POJO类?

如果是,那么我们应该如何从JSONSchema创建这个POJO类以及何时创建它?

请解释一下这个概念。我的理解是我们POJO应该直接从JSONSchema创建,但我不知道何时以及如何创建。我想一旦POJO被创建,我就可以使用我上面的代码将JSON对象存储到POJO。

共有1个答案

孔棋
2023-03-14

您需要一个具有与传入JSON(名称和数据类型)对应的字段的对象,以便jackson可以填充和实例化它。有这样的工具:

http://www.jsonschema2pojo.org/

从JSON生成java代码

 类似资料:
  • 问题内容: 我正在将Jersey用于REST WS,并且得到的响应为JSON。 我想将此响应转换为POJO。怎么做 ? 问题答案: 要在Java和JSON之间进行转换,有很多可供选择的API 。 您可以“手动”遍历JSON组件并提取值以填充Java对象,或者可以使用JSON到Java的绑定API来解决许多低级映射问题。

  • 我正在尝试在Apache Camel中将一个简单的JSON文件转换为POJO,但我无法让它工作。 路线.java WeatherForecast.java 天气预报json 我收到的错误是:没有可用的主体类型:java.io.输入流,但具有类型:org.acme.bindy.ftp.天气预报[]on:weather.json.由:没有类型转换器可用于从类型:org.acme.bindy.ftp.天

  • 这是我的JSON回复 但这就是未来的样子 正如您在第一个代码片段中看到的,“状态”为1表示没有异常,而在第二个代码片段中,“状态”为2表示更改,因此数组已填充。 我如何解析这两个??

  • 我试着把POJO转换成protobuf。这和我想做的是一样的。(https://github.com/BAData/protobuf-converter,将协议缓冲区转换为POJO) 但是,它不支持protobuf中的映射类型。所以当我试图转换protobuf的地图时 有什么简单的方法做这项工作吗?

  • 使用此JSON,自动JSON到POJO严重失败。 请注意,不同请求的项目数量不同。在这里,我将包含两项JSON响应。 这个JSON对象的POJO会是什么样子?

  • null 这是很好的,因为我可以确定我的API请求是否成功。 但是: 由于JSend格式有它自己的东西,它在响应时也有一个小的状态指示器,如下所示: 我是否应该坚持手动解析并使用而不是我的模型 对于类型paramter? 因为这样,我可以使用并将字符串转换为JSON,然后我可以手动解析模型,就像为它们编写解析器一样。