ホームページ >Java >&#&チュートリアル >Java で JSON を解析するときに不明なプロパティを無視するにはどうすればよいですか?

Java で JSON を解析するときに不明なプロパティを無視するにはどうすればよいですか?

王林
王林転載
2023-09-07 18:45:02915ブラウズ

Java で JSON を解析するときに不明なプロパティを無視するにはどうすればよいですか?

Java で JSON データを処理する場合、開発者は、対応する Java クラスで定義されていない未知のプロパティまたはフィールドに遭遇する可能性があります。これらの認識されない要素は解析中に問題を引き起こし、例外やデータ損失を引き起こす可能性があります。この問題を解決するために、プログラマーは、JSON を解析するときにそのような未知のプロパティを無視するメカニズムを実装できます。

JSON パーサーを適切に構成すると、予期しないプロパティによってアプリケーションの機能が中断されるのを防ぎます。 JSON データは、認識されないプロパティをスキップし、定義された構造に一致するプロパティのみを解析することにより、より堅牢かつ柔軟な方法で解析できます。これにより、不要なデータや無効なデータが無視される一方で、重要な情報が見落とされることがなくなります。

JSON

Java は、構造化データの送信と保存に軽量で広く使用されているデータ交換形式として JSON (JavaScript Object Notation) を使用します。シンプルで人間が判読できる形式により、オブジェクト、配列、文​​字列、数値、ブール値、および null 値を表現できます。 JSON は、処理負荷を軽減するために文字列形式のキーを使用するキーと値のペアで構成されます。

Rephrase 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 ライブラリに指示します。
  • ###アルゴリズム###
  • 無視されるフィールドまたはプロパティに @JsonbTransient アノテーションを使用して、JSON 構造を表す Java クラスにアノテーションを付けます。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。