JSON Schema是一種基於JSON格式的規範,用來定義JSON資料的結構。 JsonSchema類別可以為給定應用程式所需的JSON資料提供合同,並指導如何與其進行互動。 JsonSchema可以定義JSON資料的驗證、文件、超連結導覽和互動控制。我們可以使用JsonSchemaGenerator的generateSchema()方法來產生JSON模式,該類別封裝了JSON模式產生功能。
語法
public JsonSchema generateSchema(Class<T><!--?--> type) throws com.fasterxml.jackson.databind.JsonMappingException
Example
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.module.jsonSchema.JsonSchema; import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator; import java.util.List; public class JSONSchemaTest { public static void main(String[] args) throws JsonProcessingException { ObjectMapper jacksonObjectMapper = new ObjectMapper(); JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(jacksonObjectMapper); JsonSchema schema = schemaGen.generateSchema(Person.class); String schemaString = jacksonObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema); System.out.println(schemaString); } } // Person class class Person { private String name; private int age; private List<String> courses; private Address address; public String getName() { return name; } public int getAge(){ return age; } public List<String> getCourse() { return courses; } public Address getAddress() { return address; } } // Address class class Address { private String firstLine; private String secondLine; private String thirdLine; public String getFirstLine() { return firstLine; } public String getSecondLine() { return secondLine; } public String getThirdLine() { return thirdLine; } }
輸出
{ "type" : "object", "id" : "urn:jsonschema:Person", "properties" : { "name" : { "type" : "string" }, "age" : { "type" : "integer" }, "address" : { "type" : "object", "id" : "urn:jsonschema:Address", "properties" : { "firstLine" : { "type" : "string" }, "secondLine" : { "type" : "string" }, "thirdLine" : { "type" : "string" } } }, "course" : { "type" : "array", "items" : { "type" : "string" } } } }
以上是Java中使用Jackson支援JSON Schema嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
在哪裡可以找到原子中的起重機控制鑰匙卡
3 週前ByDDD
節省R.E.P.O.解釋(並保存文件)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影 - 如何找到鐵匠,解鎖武器和裝甲定制
4 週前ByDDD

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)