Class JSONObject

All Implemented Interfaces:
Serializable, Cloneable, Map<String,Object>, JSONAware, JSONAwareEx, JSONStreamAware, JSONStreamAwareEx

public class JSONObject extends HashMap<String,Object> implements JSONAwareEx, JSONStreamAwareEx
A JSON object. Key value pairs are unordered. JSONObject supports java.util.Map interface.
Author:
FangYidong <[email protected]>, Uriel Chemouni <[email protected]>
See Also:
  • Constructor Details

    • JSONObject

      public JSONObject()
    • JSONObject

      public JSONObject(int initialCapacity)
    • JSONObject

      public JSONObject(Map<String,?> map)
      Allows creation of a JSONObject from a Map. After that, both the generated JSONObject and the Map can be modified independently.
  • Method Details

    • escape

      public static String escape(String s)
      Escape quotes, \, /, \r, \n, \b, \f, \t and other control characters (U+0000 through U+001F). It's the same as JSONValue.escape() only for compatibility here.
      See Also:
    • toJSONString

      public static String toJSONString(Map<String,? extends Object> map)
    • toJSONString

      public static String toJSONString(Map<String,? extends Object> map, JSONStyle compression)
      Convert a map to JSON text. The result is a JSON object. If this map is also a JSONAware, JSONAware specific behaviours will be omitted at this top level.
      Parameters:
      map -
      Returns:
      JSON text, or "null" if map is null.
      See Also:
    • writeJSONKV

      public static void writeJSONKV(String key, Object value, Appendable out, JSONStyle compression) throws IOException
      Write a Key : value entry to a stream
      Throws:
      IOException
    • appendField

      public JSONObject appendField(String fieldName, Object fieldValue)
      Puts value to object and returns this. Handy alternative to put(String key, Object value) method.
      Parameters:
      fieldName - key with which the specified value is to be associated
      fieldValue - value to be associated with the specified key
      Returns:
      this
    • getAsString

      public String getAsString(String key)
      A Simple Helper object to String
      Returns:
      a value.toString() or null
    • getAsNumber

      public Number getAsNumber(String key)
      A Simple Helper cast an Object to an Number
      Returns:
      a Number or null
    • writeJSON

      public static void writeJSON(Map<String,? extends Object> map, Appendable out) throws IOException
      Throws:
      IOException
    • writeJSON

      public static void writeJSON(Map<String,? extends Object> map, Appendable out, JSONStyle compression) throws IOException
      Encode a map into JSON text and write it to out. If this map is also a JSONAware or JSONStreamAware, JSONAware or JSONStreamAware specific behaviours will be ignored at this top level.
      Throws:
      IOException
      See Also:
    • writeJSONString

      public void writeJSONString(Appendable out) throws IOException
      serialize Object as json to an stream
      Specified by:
      writeJSONString in interface JSONStreamAware
      Parameters:
      out - the output to write to
      Throws:
      IOException - if I/O error occurs
    • writeJSONString

      public void writeJSONString(Appendable out, JSONStyle compression) throws IOException
      serialize Object as json to an stream
      Specified by:
      writeJSONString in interface JSONStreamAwareEx
      Parameters:
      out - the output to write to
      compression - the JSON style for formatting
      Throws:
      IOException - if I/O error occurs
    • merge

      public void merge(Object o2)
    • merge

      public void merge(Object o2, boolean overwrite)
      merge two JSONObject with overwrite or not overwrite = false will not overwrite existing key overwrite = true will overwrite the value with o2 of existing key
    • merge

      protected static JSONObject merge(JSONObject o1, Object o2, boolean overwrite)
    • merge

      protected static JSONArray merge(JSONArray o1, Object o2)
    • toJSONString

      public String toJSONString()
      Description copied from interface: JSONAware
      Converts this object to JSON string representation.
      Specified by:
      toJSONString in interface JSONAware
      Returns:
      JSON text
    • toJSONString

      public String toJSONString(JSONStyle compression)
      Description copied from interface: JSONAwareEx
      Converts this object to JSON string representation with specified compression style.
      Specified by:
      toJSONString in interface JSONAwareEx
      Parameters:
      compression - the JSON style for formatting
      Returns:
      JSON text
    • toString

      public String toString(JSONStyle compression)
    • toString

      public String toString()
      Overrides:
      toString in class AbstractMap<String,Object>