Rumah  >  Artikel  >  Java  >  Adakah Skema JSON disokong menggunakan Jackson di Jawa?

Adakah Skema JSON disokong menggunakan Jackson di Jawa?

PHPz
PHPzke hadapan
2023-08-20 18:01:141576semak imbas

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

Skema JSON ialah spesifikasi berdasarkan format JSON, digunakan untuk mentakrifkan struktur data JSON. Kelas JsonSchema boleh menyediakan kontrak untuk data JSON yang diperlukan oleh aplikasi tertentu dan membimbing cara berinteraksi dengannya. JsonSchema boleh mentakrifkan pengesahan, dokumentasi, navigasi hiperpautan dan kawalan interaktif data JSON. Kita boleh menggunakan kaedah generateSchema() JsonSchemaGenerator untuk menjana skema JSON Kelas ini merangkum fungsi penjanaan skema JSON.

Syntax

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

Contoh

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;
   }
}

Output

{
   "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"
         }
      }
   }
}

Atas ialah kandungan terperinci Adakah Skema JSON disokong menggunakan Jackson di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam