>Java >java지도 시간 >jsonschema2pojo Maven 플러그인을 사용하여 JSON 데이터에서 Java 클래스를 생성하려면 어떻게 해야 합니까?

jsonschema2pojo Maven 플러그인을 사용하여 JSON 데이터에서 Java 클래스를 생성하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-28 21:10:16475검색

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

JSON에서 Java 클래스를 생성할 수 있습니까?

Java 개발자는 JSON 데이터에서 Java 소스 파일을 생성해야 하는 상황에 직면할 수 있습니다. 이는 JSON 구조를 미러링하는 DTO(데이터 전송 객체) 또는 POJO(Plain Old Java Objects)를 생성하는 데 유용한 기술이 될 수 있습니다.

다음은 jsonschema2pojo Maven 플러그인을 사용하여 이를 수행하는 방법입니다.

Maven 플러그인 구성

  1. 다음 플러그인 추가 pom.xml 파일에 대한 구성:
<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: JSON 스키마 파일의 위치를 ​​지정합니다.
  • targetPackage: 생성된 패키지 이름을 정의합니다. classes.
  • sourceType: 소스가 JSON임을 나타냅니다(JSON 스키마를 사용하는 경우 이 줄을 제거하세요).

JSON 데이터 예

다음 JSON 데이터를 고려하십시오.

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

생성된 Java 클래스

Maven 플러그인을 실행하면 다음 Java 클래스가 생성됩니다.

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

이 생성된 클래스를 사용하면 JSON 구조의 데이터에 쉽게 액세스할 수 있으며 편리하고 객체지향적인 방식으로 데이터를 관리하세요.

위 내용은 jsonschema2pojo Maven 플러그인을 사용하여 JSON 데이터에서 Java 클래스를 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.