クラス JSONObject

java.lang.Object
io.github.takenoko4096.json.JSONValue<Map<String, JSONValue<?>>>
io.github.takenoko4096.json.values.JSONObject
すべての実装されたインタフェース:
JSONStructure

@NullMarked public final class JSONObject extends JSONValue<Map<String, JSONValue<?>>> implements JSONStructure
json構造における連想配列を表現します。
  • フィールドの概要

    クラスから継承されたフィールド JSONValue

    value
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    空のJSONObjectを作成します。
    StringとJSONValueのMapからJSONObjectを作成します。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    Map<String, @Nullable Object>
    このオブジェクトを再帰的にMapに変換します。
    boolean
    構造体を空にします。
    構造体のディープコピーを作成します。
    boolean
    引数に渡されたパスを削除します。
    boolean
    引数に渡されたキーを削除します。
    <T extends JSONValue<?>>
    T
    get(JSONPath path, JSONValueType<T> type)
    引数に渡されたパスに紐づけられた値を返します。
    <T extends JSONValue<?>>
    T
    get(String key, JSONValueType<T> type)
    引数に渡されたキーに紐づけられた値を返します。
    値の型を取得します。
    引数に渡されたパスの型を返します。
    引数に渡されたキーの型を返します。
    boolean
    has(JSONPath path)
    引数に渡されたパスが存在するかを返します。
    boolean
    has(String key)
    引数に渡されたキーが存在するかを返します。
    boolean
    構造体が空であるかを返します。
    boolean
    引数に渡された構造体がこの構造体の部分構造であるかを返します。
    このオブジェクトが持つキーの集合を返します。
    void
    set(JSONPath path, Object value)
    引数に渡されたパスに任意の値を紐づけます。
    void
    set(String key, Object value)
    引数に渡されたキーに任意の値を紐づけます。
    static JSONObject
    valueOf(Map<?,?> value)
    MapをJSONObjectに変換します。

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

    equals, hashCode, toString, valueOf

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

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • JSONObject

      public JSONObject()
      空のJSONObjectを作成します。
    • JSONObject

      public JSONObject(Map<String, JSONValue<?>> map)
      StringとJSONValueのMapからJSONObjectを作成します。
      パラメータ:
      map - 元となるMap。
  • メソッドの詳細

    • getType

      public JSONValueType<?> getType()
      クラスからコピーされた説明: JSONValue
      値の型を取得します。
      定義:
      getType クラス内 JSONValue<Map<String, JSONValue<?>>>
      戻り値:
      この値の型を表現するオブジェクト。
    • has

      public boolean has(String key)
      引数に渡されたキーが存在するかを返します。
      パラメータ:
      key - キー。
      戻り値:
      存在する場合、真。
    • isEmpty

      public boolean isEmpty()
      インタフェースからコピーされた説明: JSONStructure
      構造体が空であるかを返します。
      定義:
      isEmpty インタフェース内 JSONStructure
      戻り値:
      空の場合、真。
    • getTypeOf

      public JSONValueType<?> getTypeOf(String key) throws IllegalArgumentException
      引数に渡されたキーの型を返します。
      パラメータ:
      key - キー。
      戻り値:
      キーに紐づけられた値の型。
      例外:
      IllegalArgumentException - キーが存在しない場合。
    • get

      public <T extends JSONValue<?>> T get(String key, JSONValueType<T> type) throws IllegalArgumentException
      引数に渡されたキーに紐づけられた値を返します。
      型パラメータ:
      T - 期待する型。
      パラメータ:
      key - キー。
      type - 期待する型。
      戻り値:
      キーに紐づけられた値。
      例外:
      IllegalArgumentException - キーが存在しないか、型が予期しないものの場合。
    • set

      public void set(String key, Object value)
      引数に渡されたキーに任意の値を紐づけます。
      パラメータ:
      key - キー。
      value - 値。
    • delete

      public boolean delete(String key)
      引数に渡されたキーを削除します。
      パラメータ:
      key - キー。
      戻り値:
      削除に成功した場合、真。
    • clear

      public boolean clear()
      インタフェースからコピーされた説明: JSONStructure
      構造体を空にします。
      定義:
      clear インタフェース内 JSONStructure
      戻り値:
      空にすることができた場合、真。
    • keys

      public Set<String> keys()
      このオブジェクトが持つキーの集合を返します。
      戻り値:
      すべてのキーのSet。
    • asMap

      public Map<String, @Nullable Object> asMap()
      このオブジェクトを再帰的にMapに変換します。
      戻り値:
      Map形式のディープコピー。
    • copy

      public JSONObject copy()
      インタフェースからコピーされた説明: JSONStructure
      構造体のディープコピーを作成します。
      定義:
      copy インタフェース内 JSONStructure
      戻り値:
      ディープコピーされたオブジェクト。
    • isSuperOf

      public boolean isSuperOf(JSONObject other)
      引数に渡された構造体がこの構造体の部分構造であるかを返します。
      パラメータ:
      other - 構造体。
      戻り値:
      部分構造であれば、真。
    • has

      public boolean has(JSONPath path)
      引数に渡されたパスが存在するかを返します。
      パラメータ:
      path - パス。
      戻り値:
      存在する場合、真。
    • getTypeOf

      public JSONValueType<?> getTypeOf(JSONPath path)
      引数に渡されたパスの型を返します。
      パラメータ:
      path - パス。
      戻り値:
      パスに紐づけられた値の型。
      例外:
      IllegalArgumentException - パスが存在しない場合。
    • get

      public <T extends JSONValue<?>> T get(JSONPath path, JSONValueType<T> type)
      引数に渡されたパスに紐づけられた値を返します。
      型パラメータ:
      T - 期待する型。
      パラメータ:
      path - パス。
      type - 期待する型。
      戻り値:
      パスに紐づけられた値。
      例外:
      IllegalArgumentException - パスが存在しないか、型が予期しないものの場合。
    • delete

      public boolean delete(JSONPath path)
      引数に渡されたパスを削除します。
      パラメータ:
      path - パス。
      戻り値:
      削除に成功した場合、真。
    • set

      public void set(JSONPath path, Object value)
      引数に渡されたパスに任意の値を紐づけます。
      パラメータ:
      path - パス。
      value - 値。
    • valueOf

      public static JSONObject valueOf(Map<?,?> value)
      MapをJSONObjectに変換します。
      パラメータ:
      value - Map。
      戻り値:
      JSONObject。