簡體   English   中英

如何在java中解析JSON模式的所有引用

[英]how to resolve all references for a JSON schema in java

我有一個 JSON 模式,它有像

  1. $模式
  2. $id
  3. $ref
  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 操作

有多種方法可以完成此任務,即作為簡單的自動化來代表您替換代幣,將執行以下步驟:

  1. 創建一個具有令牌-值對的映射(Map、HashMap)
  2. 通過json庫讀取json; 這是一個如何做到的例子 - https://www.baeldung.com/java-org-json
  3. 遍歷 json 並通過 java 字符串的替換方法替換令牌。

另一種方法是通過具有專用插件的外部工具(例如 gradle)進行替換。 在 gradle 存儲庫中有很多插件可以做到這一點 - https://plugins.gradle.org/search?term=token+replacement ,例如這個https://github.com/HexoMod-tools/gradle。 replace.token.preprocessor.plugin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM