首页 > 解决方案 > 如何在java中解析JSON模式的所有引用

问题描述

我有一个 JSON 模式,它有类似的字段

  1. $模式
  2. $id
  3. $参考
  4. $合并

前任

{
  **"$schema"**: "http://json-schema.org/draft-07/schema#",
  **"$id"**: "./field_name_1.json",
  "field_name_title": "some-title",
  "field_name_2": "some value",
  "field_name_3": {
    "field_name_4": {
      "field_name_5": "some value",
      "field_name_6": "some value",
      "field_name_7": {
        "field_name_8": {
          "field_name_9": "some value",
          **"$ref"**: "/json_file_1.json"
        },
        "field_name_": {
          **"$ref"**: "/json_file_2.json"
        }
      },
      "field_name_10": false
    }
  },
  "field_name_11": "some value",
  "field_name_12": "some value",
  "field_name_13": {
    "field_name_14": {
      **"$ref"**: "/json_file_3.json"
    },
    "session_data": {
      **"$ref"**: "/json_file_4.json"
    },
    "event_payload": {
      **"$ref"**: "#/field_name_3/field_name_4"
    }
  },
  "field_name_15": false
}

如何解析架构中的所有引用,并制作完整的 JSON。

主要目标是将解析的模式映射到实体并为模式执行 crud 操作

标签: javajsonserializationjson-deserialization

解决方案


参考:java-json-tools,项目。

该类com.github.fge.jsonschema.core.load.RefResolver似乎具有该功能。参考:javadoc

我还没有尝试过,所以无法添加更多信息。


推荐阅读