Heim > Java > javaLernprogramm > Wird das JSON-Schema mit Jackson in Java unterstützt?

Wird das JSON-Schema mit Jackson in Java unterstützt?

PHPz
Freigeben: 2023-08-20 18:01:14
nach vorne
1590 Leute haben es durchsucht

在Java中使用Jackson支持JSON Schema吗?

JSON-Schema ist eine Spezifikation, die auf dem JSON-Format basiert und zur Definition der Struktur von JSON-Daten verwendet wird. Die JsonSchema-Klasse kann einen Vertrag für die von einer bestimmten Anwendung benötigten JSON-Daten bereitstellen und Anleitungen für die Interaktion damit geben. JsonSchema kann Validierung, Dokumentation, Hyperlink-Navigation und interaktive Steuerung von JSON-Daten definieren. Wir können die Methode „generateSchema()“ von JsonSchemaGenerator verwenden, um ein JSON-Schema zu generieren. Diese Klasse kapselt die JSON-Schema-Generierungsfunktion.

Syntax

public JsonSchema generateSchema(Class<T><!--?--> type) throws com.fasterxml.jackson.databind.JsonMappingException
Nach dem Login kopieren

Beispiel

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;
   }
}
Nach dem Login kopieren

Ausgabe

{
   "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"
         }
      }
   }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWird das JSON-Schema mit Jackson in Java unterstützt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage