Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menjana Kelas Java daripada Data JSON Menggunakan Pemalam Maven jsonschema2pojo?

Bagaimanakah Saya Boleh Menjana Kelas Java daripada Data JSON Menggunakan Pemalam Maven jsonschema2pojo?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 21:10:16519semak imbas

How Can I Generate Java Classes from JSON Data Using the jsonschema2pojo Maven Plugin?

Bolehkah Anda Menjana Kelas Java daripada JSON?

Sebagai pembangun Java, anda mungkin menghadapi situasi di mana anda perlu menjana fail sumber Java daripada data JSON. Ini boleh menjadi teknik yang berharga untuk mencipta objek pemindahan data (DTO) atau POJO (Objek Java Lama Biasa) yang mencerminkan struktur JSON.

Berikut ialah cara untuk melakukannya menggunakan jsonschema2pojo pemalam Maven:

Pemalam Maven Konfigurasi

  1. Tambahkan konfigurasi pemalam berikut pada fail pom.xml anda:
<plugin>
    <groupId>org.jsonschema2pojo</groupId>
    <artifactId>jsonschema2pojo-maven-plugin</artifactId>
    <version>1.0.2</version>
    <configuration>
        <sourceDirectory>${basedir}/src/main/resources/schemas</sourceDirectory>
        <targetPackage>com.myproject.jsonschemas</targetPackage>
        <sourceType>json</sourceType>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • sourceDirectory : Menentukan lokasi skema JSON anda fail.
  • targetPackage: Mentakrifkan nama pakej untuk kelas yang anda hasilkan.
  • sourceType: Menunjukkan bahawa sumbernya ialah JSON (alih keluar baris ini jika menggunakan skema JSON).

Contoh JSON Data

Pertimbangkan data JSON berikut:

{
  "firstName": "John",  
  "lastName": "Smith",  
  "address": {  
    "streetAddress": "21 2nd Street",  
     "city": "New York"
  }
}

Kelas Java Dijana

Setelah menjalankan pemalam Maven, kelas Java berikut akan dijana:

class Address  {
    JSONObject mInternalJSONObject;
     
    Address (JSONObject json){
        mInternalJSONObject = json;
    }
     
    String  getStreetAddress () {
        return mInternalJSONObject.getString("streetAddress");
    }
    
    String  getCity (){
        return mInternalJSONObject.getString("city");
    }
}

class Person {        
    JSONObject mInternalJSONObject;
    
    Person (JSONObject json){
        mInternalJSONObject = json;
    }
    
    String  getFirstName () {
        return mInternalJSONObject.getString("firstName");
    }
    
    String  getLastName (){
        return mInternalJSONObject.getString("lastName");
    }
    
    Address getAddress (){
        return Address(mInternalJSONObject.getString("address"));
    }
}

Kelas yang dijana ini menyediakan akses mudah kepada data dalam struktur JSON, membolehkan anda bekerja dengan data dengan mudah dan cara berorientasikan objek.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Kelas Java daripada Data JSON Menggunakan Pemalam Maven jsonschema2pojo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn