>  기사  >  Java  >  Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 방법은 무엇입니까?

Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 방법은 무엇입니까?

王林
王林앞으로
2023-09-07 18:45:02837검색

Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 방법은 무엇입니까?

Java에서 JSON 데이터를 처리하는 동안 개발자는 해당 Java 클래스에 정의되지 않은 알 수 없는 속성이나 필드를 접할 수 있습니다. 이러한 인식되지 않은 요소는 구문 분석 중에 문제를 일으켜 예외나 데이터 손실을 일으킬 수 있습니다. 이 문제를 해결하기 위해 프로그래머는 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 메커니즘을 구현할 수 있습니다.

JSON 파서를 올바르게 구성하면 예기치 않은 속성으로 인해 애플리케이션 기능이 중단되는 것을 방지할 수 있습니다. 인식할 수 없는 속성을 건너뛰고 정의된 구조와 일치하는 속성만 구문 분석함으로써 JSON 데이터를 보다 강력하고 유연한 방식으로 구문 분석할 수 있습니다. 이렇게 하면 중요한 정보가 간과되지 않고 불필요하거나 유효하지 않은 데이터도 무시됩니다.

JSON

Java는 구조화된 데이터를 전송하고 저장하기 위해 가볍고 널리 사용되는 데이터 교환 형식으로 JSON(JavaScript Object Notation)을 사용합니다. 간단하고 사람이 읽을 수 있는 형식을 통해 객체, 배열, 문자열, 숫자, 부울 값 및 null 값을 표현할 수 있습니다. JSON은 처리 부하를 완화하기 위해 문자열 형태의 키를 사용하는 키-값 쌍으로 구성됩니다.

Java의 JSON 형식 변경은 일반적으로 문자열로 표시되며 구문 분석 및 직렬화 라이브러리를 사용하여 Java 개체 간에 변환됩니다. 이러한 API를 사용하면 JSON 문자열을 Java 객체로 구문 분석하거나 그 반대로 구문 분석하여 JSON 기반 시스템과 Java 애플리케이션을 통합할 수 있습니다. 이러한 원활한 통신은 서로 다른 시스템 간의 쉬운 데이터 교환을 촉진합니다.

방법

Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 방법에는 여러 가지가 있습니다. 일반적으로 사용되는 몇 가지 방법은 다음과 같습니다.

  • ObjectMapper가 포함된 Jackson 라이브러리

  • GsonBuilder가 포함된 Gson 라이브러리

  • JSON-B(JSON 바인딩용 Java API)

  • 수동 구문 분석

ObjectMapper가 포함된 Jackson 라이브러리

이 방법에는 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 기능을 false로 설정하여 ObjectMapper(Jackson 라이브러리에서 제공하는 클래스)를 구성하는 작업이 포함됩니다. 이를 통해 ObjectMapper는 JSON을 구문 분석할 때 알 수 없는 속성을 무시하여 예외가 발생하는 것을 방지할 수 있습니다.

알고리즘

  • ObjectMapper의 인스턴스를 만듭니다.

  • DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 기능을 false로 설정하도록 ObjectMapper를 구성합니다.

  • ObjectMapper를 사용하여 JSON 데이터를 필수 Java 객체로 구문 분석하세요.

으아악

출력

으아악

GsonBuilder가 포함된 Gson 라이브러리

이 방법에서 Gson 라이브러리를 사용하려면 GsonBuilder 클래스를 사용하여 Gson 인스턴스를 만들어야 합니다. 이는 true 인수를 사용하여 setIgnoreUnknownProperties() 메소드를 호출하여 달성할 수 있습니다. 이렇게 하면 JSON 구문 분석 중에 알 수 없는 속성을 무시하여 해당 속성이 오류로 처리되지 않도록 Gson에 지시합니다.

알고리즘

  • GsonBuilder의 인스턴스를 만듭니다.

  • GsonBuilder 인스턴스에서 setIgnoreUnknownProperties(true) 메소드를 호출하세요.

  • GsonBuilder를 사용하여 Gson 객체를 빌드하세요.

  • Gson 개체를 사용하여 JSON 데이터를 필수 Java 개체로 구문 분석합니다.

으아악

출력

으아악

JSON-B(JSON 바인딩용 Java API)

JSON-B를 사용하여 알 수 없는 속성을 무시하려면 JSON 구조를 나타내는 Java 클래스에 무시해야 하는 필드 또는 속성에 @JsonbTransient 주석을 달아야 합니다. 이 주석은 JSON 구문 분석 중에 이러한 속성을 건너뛰도록 JSON-B 라이브러리에 지시합니다.

알고리즘

  • 무시하려는 필드 또는 속성의 JSON 구조를 나타내는 Java 클래스의 @JsonbTransient 주석을 사용하세요.

  • JSON-B 구현을 사용하여 JSON 데이터를 필수 Java 개체로 구문 분석합니다.

으아악

출력

으아악

수동 구문 분석

org.json 또는 json-simple과 같은 라이브러리를 사용하여 JSON 데이터를 구문 분석하기 위해 개발자는 JSON 개체의 키와 값을 수동으로 반복하는 접근 방식을 따릅니다. 개발자는 식별된 속성을 선택적으로 처리하고 알 수 없는 속성을 무시하여 원하는 구문 분석 동작을 사용자 정의할 수 있습니다.

알고리즘

  • org.json 또는 json-simple과 같은 JSON 라이브러리를 사용하여 JSON 데이터를 JSON 개체로 구문 분석합니다.

  • JSON 객체의 키와 값을 반복합니다.

  • 식별된 속성을 처리하고 반복 중에 인식되지 않거나 알 수 없는 속성을 무시합니다.

으아악

출력

으아악

결론

이 튜토리얼에서는 Java에서 JSON을 구문 분석할 때 데이터 처리의 견고성과 유연성을 보장하기 위해 알 수 없는 속성을 적절하게 처리하는 것이 중요합니다. Jackson으로 ObjectMapper를 구성하거나, Gson 및 GsonBuilder를 사용하거나, JSON-B 주석을 활용하거나, JSON 데이터를 수동으로 구문 분석함으로써 개발자는 Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 효과적으로 무시하고 잠재적인 문제를 완화할 수 있습니다.

위 내용은 Java에서 JSON을 구문 분석할 때 알 수 없는 속성을 무시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제