クラス JSONPath

java.lang.Object
io.github.takenoko4096.json.JSONPath

@NullMarked public final class JSONPath extends Object
json構造の任意の位置にアクセスするためのパスを表現します。
  • ネストされたクラスの概要

    ネストされたクラス
    修飾子とタイプ
    クラス
    説明
    static class 
    jsonパスが構造にアクセスする際に作成される特定のオブジェクトへの参照を表現します。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    <T> @Nullable T
    access(JSONObject jsonObject, Function<JSONPath.JSONPathReference<?,?>, @Nullable T> function, boolean isForcedAccess)
    任意のオブジェクト上の、このパスに対応する位置へのアクセスを提供します。
    boolean
    equals(@Nullable Object obj)
     
    int
     
    int
    jsonパスの長さを返します。
    static JSONPath
    of(String path)
    文字列からjsonパスを作成します。
    終端のアクセスを取り除いた新しいパスを返します。
    slice(int begin, int end)
    jsonパスの部分パスを作成します。
     

    クラスから継承されたメソッド Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • access

      public <T> @Nullable T access(JSONObject jsonObject, Function<JSONPath.JSONPathReference<?,?>, @Nullable T> function, boolean isForcedAccess) throws JSONPathUnableToAccessException
      任意のオブジェクト上の、このパスに対応する位置へのアクセスを提供します。
      型パラメータ:
      T - コールバックの戻り値の型。
      パラメータ:
      jsonObject - 任意のオブジェクト。
      function - 参照を消費するコールバック関数。
      isForcedAccess - trueの場合、オブジェクトのキーに対する単純なアクセスに限り、キーが存在しなくてもその位置に空のオブジェクトを作成します。これにより強制的にアクセス処理の中断を回避します。
      戻り値:
      コールバックの戻り値をそのまま返します。何も返す必要がなければnullを返すことができます。
      例外:
      JSONPathUnableToAccessException - オブジェクトの構造との不整合によりアクセスできなかった場合。
    • length

      public int length()
      jsonパスの長さを返します。
      戻り値:
      jsonパスの長さ。例えば、 "foo.bar[0].baz" は4を返します。
    • slice

      public JSONPath slice(int begin, int end)
      jsonパスの部分パスを作成します。
      パラメータ:
      begin - 開始位置。
      end - 終了位置。この値は含まれません。
      戻り値:
      切り取られた部分パス。完全なコピーであり、元のオブジェクトとは関連しません。
    • parent

      public JSONPath parent()
      終端のアクセスを取り除いた新しいパスを返します。
      戻り値:
      slice(0, length() - 2) の結果に等しくなります。
    • toString

      public String toString()
      オーバーライド:
      toString クラス内 Object
    • hashCode

      public int hashCode()
      オーバーライド:
      hashCode クラス内 Object
    • equals

      public boolean equals(@Nullable Object obj)
      オーバーライド:
      equals クラス内 Object
    • of

      public static JSONPath of(String path) throws JSONParseException
      文字列からjsonパスを作成します。
      パラメータ:
      path - jsonパス
      戻り値:
      jsonパスオブジェクト
      例外:
      JSONParseException - パスが不正な場合。