クラス 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におけるobjectを表現します。
  • コンストラクタの詳細

    • JSONObject

      public JSONObject()
    • JSONObject

      public JSONObject(Map<String, JSONValue<?>> 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。