Java
 Computer >> コンピューター >  >> プログラミング >> Java

JacksonでJSONパーサーのデフォルト設定を確認する方法(Java)

JSONパーサーのすべてのデフォルト設定は、JsonParser.Feature列挙型で表現できます。JsonParser.Feature.values()メソッドを呼び出すと、JSONパーサーで利用可能なすべての機能(フィーチャー)の一覧を取得できます。さらに、特定のパーサーにおいて各機能が有効無効かを判定するには、JsonParserのisEnabled()メソッドを使用します。

構文

public static enum JsonParser.Feature extends Enum<JsonParser.Feature>

使用例

以下のコードでは、JsonFactoryからJsonParserを作成し、すべての機能について有効・無効の状態を出力しています。

import com.fasterxml.jackson.core.*;
import java.io.*;
public class JsonParserSettingsTest {
   public static void main(String[] args) throws IOException {
      String json = "[{\"name\":\"Adithya\", \"age\":\"30\"}," + "{\"name\":\"Ravi\", \"age\":\"35\"}]";
      JsonFactory jsonFactory = new JsonFactory();
      JsonParser jsonParser = jsonFactory.createParser(json);
      for(JsonParser.Feature feature : JsonParser.Feature.values()) {
         System.out.println(feature.name() + ":" + jsonParser.isEnabled(feature));
      }
   }
}

実行結果

AUTO_CLOSE_SOURCE:true
ALLOW_COMMENTS:false
ALLOW_YAML_COMMENTS:false
ALLOW_UNQUOTED_FIELD_NAMES:false
ALLOW_SINGLE_QUOTES:false
ALLOW_UNQUOTED_CONTROL_CHARS:false
ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER:false
ALLOW_NUMERIC_LEADING_ZEROS:false
ALLOW_NON_NUMERIC_NUMBERS:false
ALLOW_MISSING_VALUES:false
ALLOW_TRAILING_COMMA:false
STRICT_DUPLICATE_DETECTION:false
IGNORE_UNDEFINED:false
INCLUDE_SOURCE_IN_LOCATION:true

主な機能の解説

  • AUTO_CLOSE_SOURCE:パーサーが閉じられたときに、元となる入力ストリームも自動的にクローズします。デフォルトはtrueです。
  • ALLOW_COMMENTS:JSON内にコメント(// や /* */)を含めることを許可します。デフォルトはfalseです。
  • ALLOW_SINGLE_QUOTES:文字列をシングルクォート(')で囲むことを許可します。デフォルトはfalseです。
  • ALLOW_TRAILING_COMMA:配列やオブジェクトの末尾に余分なカンマがあることを許可します。デフォルトはfalseです。
  • STRICT_DUPLICATE_DETECTION:重複するフィールド名を検出した場合にエラーとします。デフォルトはfalseです。

このように、isEnabled()メソッドとFeature.values()を組み合わせることで、パーサーの現在の設定状態を簡単に一覧表示・確認することができます。

  1. Java 9のJShellでデフォルトエディタを変更する方法

    JShellは、Java 9から導入されたREPL(Read-Evaluate-Print Loop)ツールです。コマンドラインからコードを読み込み、入力されたスニペットを評価し、その結果を画面に出力してくれます。 JShellのデフォルトエディタを変更する手順 JShellでは、デフォルトの「JShell Editor Pad」を使ってコードを編集できます。さらに、「/set」コマンドを使用すれば、デフォルトエディタを別のものに変更することも可能です。「/edit」コマンドを実行すると、設定されたエディタが起動されます。エディタを変更するには、次のコマンドを実行します。 /set edito

  2. JavaでJsonPointerインターフェースを使用してJSONのキーの値を取得する方法

    JSONPointerは、JSONドキュメント内の特定のキーの値へアクセスするための文字列構文を定義した標準規格です。Jsonクラスの静的ファクトリメソッドであるcreatePointer()を呼び出すことで、JSONPointerのインスタンスを生成できます。JSONPointerでは、すべての文字列構文がスラッシュ「/」で始まるのが特徴です。キーの値を取得するには、JSONPointerオブジェクトに対してgetValue()メソッドを呼び出します。 前提条件 この記事のコードを実行するには、Java EE / Jakarta EEに含まれるJSON Processing(JSON-P)の