问题标签 [jsonschema2pojo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
288 浏览

java - 包含多个独立类型的 json 模式

是否有任何示例可以显示如何编写 json 模式以在一个文件中包含多个独立对象?

如果可能的话,是否有任何 java 库可以将它们全部转换为单独的 pojo,反之亦然?

0 投票
1 回答
1055 浏览

java - 在 json 模式中使用 ref 到 pojo 时出错

我正在尝试使用jsonschema2pojo来生成 Java 类。我在使用“$ref”标签来引用父模式中的其他模式时遇到了麻烦。


设备.json


这是我的 spec.json

现在我希望创建以下 java 类:

但我明白了

我究竟做错了什么?

0 投票
1 回答
4224 浏览

java - JsonSchema2pojo 不生成 POJO

我得到了一个像下面这样的pojo,

尝试使用生成 POJO 时,Jsonschema2POJO我只看到正在创建的包中没有类文件。甚至没有出现异常。

当我在“包”标签周围添加“属性”时,它会生成 pojo,但如果任何其他 json 引用此 json,我会收到"Path not present:packages"错误,而且它会使模式无效。

我想了解该工具对架构版本是否有任何限制?或者是否必须在提供的 json 中进行任何修改才能使其与该工具一起使用。请建议。

0 投票
1 回答
8829 浏览

java - POJO generated from jsonschema2pojo generating class that should not exist

I am using jsonschema2pojo from command line to create POJO's for the following json's :

book_store.json

book_details.json

Now the generated Java POJO's look like this :

BookStore.java

SoftCopy.java

Whereas i was not even expecting SoftCopy.java object...I expected to have "BookStore.java" & "BookDetails.java" . SoftCopy and HardCopy should be lists of the type BookDetails.java

0 投票
2 回答
2606 浏览

java - jsonschema2pojo 生成没有任何键值对的枚举

我正在使用 jsonschema2pojo 从我的 JSON 模式生成 POJO。但是,当我使用命名枚举时,它似乎不起作用。而不是 POJO 中的键值对,它只是添加__EMPTY__.

我指定枚举的方式有问题还是 jsonschema2pojo 有问题?

JSON模式:

生成的 Java POJO

注意 - 如果我删除枚举名称并仅指定如下值,则效果很好:

0 投票
1 回答
1607 浏览

json - 使用项目中单独模块的 javaType 的 JSON 模式

如何使用在同一项目的单独模块中声明的类型?

我有以下 JSON 模式:

在我的 rs 模块的类中声明类型的位置:

我希望 jsonschema2pojo 生成一个使用 Name 类型的类,但是我生成了一个名为 Name 的单独类,其包名称与我现有的类完全相同。

0 投票
1 回答
638 浏览

java - 不同类型值的 JSON 到 POJO 转换错误

使用 Gson 将 JSON 数据转换为 POJO 时出现此错误。

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: 预期 BEGIN_ARRAY 但在第 1 行第 119 列是 STRING

我的 JSON 是:

对于每个结果,值类型可能不同。有时它是一个字符串值或一个数组。

这是我的结果:

当结果中没有片段类型时,我的代码可以正常工作。尝试使用类型转换,这也对我没有帮助。

处理这种情况的最佳方法是什么?

0 投票
1 回答
274 浏览

java - jsonschema2pojo-cli-0.4.13 死在水里?

我想从一个相当复杂的 JSON 模式创建 POJO,该模式在自身内部引用类型,并且Web 界面已经知道这样做的问题,这些问题显然已修复以供离线使用。我在Win7上运行,输出java -version

最简单的离线机制是 CLI,所以我下载了当前版本,将其解压缩到一个文件夹(路径中没有空格,尽管我认为这不是问题)并尝试使用jsonschema2pojo --help. 我明白了

我与包中的 .jar 文件位于同一目录中。我也尝试过直接触发适当的 .jarjava -jar jsonschema2pojo-cli-0.4.13.jar --help并得到相同的响应。为了以防万一,我还尝试在管理员 shell 中运行。

所以目前它甚至无法启动,所以尝试进一步使用它没有什么意义。

有其他人从命令行使用它吗?在Win7上?

0 投票
1 回答
2933 浏览

java - 为什么 Jackson 在我的自动生成的 POJO 枚举中忽略 @JsonCreator 注释?

像往常一样,我的问题可能有一个非常简单的解决方案:

我有一个JSON 模式片段,它定义了以下枚举:

然后,我公司的框架使用jsonschema2pojo和 maven 来创建必要的 POJO(Title位于Clazz,作为JSON 模式title的一部分clazz- 以 clazz 作为名称 - 将其替换为员工或客户或任何你喜欢的东西):

生成的 POJO

当我针对它运行包含以下内容的请求时:

我收到了这个错误

显然,“先生”在枚举中。

调试时,我可以看到它通过以下类(堆栈)运行:

看起来他们只对枚举的“键”(即常量,例如“ MR”而不是“ Mr”)感兴趣。我猜@JsonCreator注释由于某种原因被忽略了。

知道如何解决这个问题吗? 是否有可能在任何地方设置可能导致此行为的配置值?(我正在做一个大项目;如果我知道我需要寻找什么,我可以搜索代码库;也许另一个开发人员在某处“错误配置”了某些东西......)或者问题可能出TitleClazz哪里?我需要投入大量@JsonProperty资金吗?(如果是这样,具体如何?)

我们正在使用 jackson-core、-annotations 和 -databind 2.4.2。

更新:我将其作为一个独立项目进行了尝试,使用以下代码,并且它完美地工作 - 这意味着必须有某种设置可以防止注释被考虑......

0 投票
1 回答
1391 浏览

java - Pojo 到 json schema v4,反之亦然,通过 maven

我正在尝试为我们的一个项目提供一组文档,其中需要将 Java POJO 转换为 JSON Schema 4,有时将 JSON 模式 4 转换回 POJO。我找不到可以同时完成这两个任务的 Maven 插件。

我能够找到用于 JSON Schema 生成的https://github.com/wodzuu/JSONschema4-mapper和用于 PoJo 生成的https://github.com/joelittlejohn/jsonschema2pojo 。

我敢肯定这是一个非常常见的用例,所以只是写信来检查一下你们过去如何克服这个问题?任何输入