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

用fasterxml 2.2.0生成json schema如何引用类型?

戈睿识
2023-03-14

我使用的是Fast erxml json框架2.2.0版,以便在我正在开发的应用程序的API的json中创建模式。

我的API类似于:https://gist.github.com/nemo83/5555249

客户和订单都引用了地址。现在,当我尝试生成架构(https://github.com/FasterXML/jackson-module-jsonSchema)时,结果是:

{"type":"object "," properties ":{ " type ":" object "," properties ":{ " address line 2 ":{ " type ":" string " }," address line 1 ":{ " type ":" string " } }," customer":{"type":"object "," properties ":{ " address ":{ " type ":" object "," properties ":{ " properties ":{ " type ":" object "," properties ":{ " address line 2 ":{ " type ":" string " }," address line 1 ":{ " type ":" string " } } }," name

正如您所看到的,地址没有被表示为一个类型,但是客户和订单都在它们的描述中将它扁平化了。

有没有办法指示Fast erxml模式生成来解决这个问题并利用“$ref”属性正确引用Address对象?

共有1个答案

呼延高超
2023-03-14

您可以升级到杰克逊模块jsonSchema 4.1版本,他们已经解决了这个问题,并且还启用了自引用类架构生成。

 类似资料:
  • 在我的项目中,有两个和一些: 我得到的结果和错误如下: 生成的如下: 我认为和没有正确生成,因为它们是字符串类型,没有引号。 我不知道为什么它会以这种方式产生。请告诉我如何解决这个问题。

  • 我正在编写一个通用组件,该组件封装了一个生成器并执行常规操作: 按键筛选 转换值 等等 为了尽可能接近地模拟包装生成器,如果生成器使用引用,我想使用引用。 当我尝试使用 构造的情况下迭代生成器对引用完全不起作用:

  • 我正在编写一个通用组件,该组件封装了一个生成器并执行常规操作: 按键筛选 转换值 等等 为了尽可能接近地模拟包装生成器,如果生成器使用引用,我想使用引用。 当我尝试使用 构造的情况下迭代生成器对引用完全不起作用:

  • 根据http://json-schema.org/和jsonSchema中提供的示例,json shema使用的格式包括链接 但是我找不到一种方法把它添加到生成的,schema,虽然有一个HyperSchema对象,这似乎是我需要的,但是我找不到如何使用它。

  • 问题内容: 在Smarty中,是否有一个标准函数或一种简单的方法可以从数组生成json,就像在PHP中一样? 我想在Smarty文档中看不到它。 问题答案: 这应该工作。@使smarty对整个数组运行修饰符,否则对每个元素执行修饰符。 如果启用$ escape_html ,则需要使用:

  • 另一个问题询问如何从现有的字符串表示形式创建。在本例中,您已经有了ID的字符串表示形式--它可能是也可能不是普遍唯一的--并且您正在将其解析为。