Class Json


  • public final class Json
    extends Object
    This class serves as the entry point to the minimal-json API.

    To parse a given JSON input, use the parse() methods like in this example:

     JsonObject object = Json.parse(string).asObject();
     

    To create a JSON data structure to be serialized, use the methods value(), array(), and object(). For example, the following snippet will produce the JSON string {"foo": 23, "bar": true}:

     String string = Json.object().add("foo", 23).add("bar", true).toString();
     

    To create a JSON array from a given Java array, you can use one of the array() methods with varargs parameters:

     String[] names = ...
     JsonArray array = Json.array(names);
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static JsonValue FALSE
      Represents the JSON literal false.
      static JsonValue NULL
      Represents the JSON literal null.
      static JsonValue TRUE
      Represents the JSON literal true.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static JsonArray array()
      Creates a new empty JsonArray.
      static JsonArray array​(boolean... values)
      Creates a new JsonArray that contains the JSON representations of the given boolean values.
      static JsonArray array​(double... values)
      Creates a new JsonArray that contains the JSON representations of the given double values.
      static JsonArray array​(float... values)
      Creates a new JsonArray that contains the JSON representations of the given float values.
      static JsonArray array​(int... values)
      Creates a new JsonArray that contains the JSON representations of the given int values.
      static JsonArray array​(long... values)
      Creates a new JsonArray that contains the JSON representations of the given long values.
      static JsonArray array​(String... strings)
      Creates a new JsonArray that contains the JSON representations of the given strings.
      static JsonObject object()
      Creates a new empty JsonObject.
      static JsonValue parse​(Reader reader)
      Reads the entire input from the given reader and parses it as JSON.
      static JsonValue parse​(String string)
      Parses the given input string as JSON.
      static JsonValue value​(boolean value)
      Returns a JsonValue instance that represents the given boolean value.
      static JsonValue value​(double value)
      Returns a JsonValue instance that represents the given double value.
      static JsonValue value​(float value)
      Returns a JsonValue instance that represents the given float value.
      static JsonValue value​(int value)
      Returns a JsonValue instance that represents the given int value.
      static JsonValue value​(long value)
      Returns a JsonValue instance that represents the given long value.
      static JsonValue value​(String string)
      Returns a JsonValue instance that represents the given string.
    • Field Detail

      • NULL

        public static final JsonValue NULL
        Represents the JSON literal null.
      • TRUE

        public static final JsonValue TRUE
        Represents the JSON literal true.
      • FALSE

        public static final JsonValue FALSE
        Represents the JSON literal false.
    • Method Detail

      • value

        public static JsonValue value​(int value)
        Returns a JsonValue instance that represents the given int value.
        Parameters:
        value - the value to get a JSON representation for
        Returns:
        a JSON value that represents the given value
      • value

        public static JsonValue value​(long value)
        Returns a JsonValue instance that represents the given long value.
        Parameters:
        value - the value to get a JSON representation for
        Returns:
        a JSON value that represents the given value
      • value

        public static JsonValue value​(float value)
        Returns a JsonValue instance that represents the given float value.
        Parameters:
        value - the value to get a JSON representation for
        Returns:
        a JSON value that represents the given value
      • value

        public static JsonValue value​(double value)
        Returns a JsonValue instance that represents the given double value.
        Parameters:
        value - the value to get a JSON representation for
        Returns:
        a JSON value that represents the given value
      • value

        public static JsonValue value​(String string)
        Returns a JsonValue instance that represents the given string.
        Parameters:
        string - the string to get a JSON representation for
        Returns:
        a JSON value that represents the given string
      • value

        public static JsonValue value​(boolean value)
        Returns a JsonValue instance that represents the given boolean value.
        Parameters:
        value - the value to get a JSON representation for
        Returns:
        a JSON value that represents the given value
      • array

        public static JsonArray array()
        Creates a new empty JsonArray. This is equivalent to creating a new JsonArray using the constructor.
        Returns:
        a new empty JSON array
      • array

        public static JsonArray array​(int... values)
        Creates a new JsonArray that contains the JSON representations of the given int values.
        Parameters:
        values - the values to be included in the new JSON array
        Returns:
        a new JSON array that contains the given values
      • array

        public static JsonArray array​(long... values)
        Creates a new JsonArray that contains the JSON representations of the given long values.
        Parameters:
        values - the values to be included in the new JSON array
        Returns:
        a new JSON array that contains the given values
      • array

        public static JsonArray array​(float... values)
        Creates a new JsonArray that contains the JSON representations of the given float values.
        Parameters:
        values - the values to be included in the new JSON array
        Returns:
        a new JSON array that contains the given values
      • array

        public static JsonArray array​(double... values)
        Creates a new JsonArray that contains the JSON representations of the given double values.
        Parameters:
        values - the values to be included in the new JSON array
        Returns:
        a new JSON array that contains the given values
      • array

        public static JsonArray array​(boolean... values)
        Creates a new JsonArray that contains the JSON representations of the given boolean values.
        Parameters:
        values - the values to be included in the new JSON array
        Returns:
        a new JSON array that contains the given values
      • array

        public static JsonArray array​(String... strings)
        Creates a new JsonArray that contains the JSON representations of the given strings.
        Parameters:
        strings - the strings to be included in the new JSON array
        Returns:
        a new JSON array that contains the given strings
      • object

        public static JsonObject object()
        Creates a new empty JsonObject. This is equivalent to creating a new JsonObject using the constructor.
        Returns:
        a new empty JSON object
      • parse

        public static JsonValue parse​(String string)
        Parses the given input string as JSON. The input must contain a valid JSON value, optionally padded with whitespace.
        Parameters:
        string - the input string, must be valid JSON
        Returns:
        a value that represents the parsed JSON
        Throws:
        ParseException - if the input is not valid JSON
      • parse

        public static JsonValue parse​(Reader reader)
                               throws IOException
        Reads the entire input from the given reader and parses it as JSON. The input must contain a valid JSON value, optionally padded with whitespace.

        Characters are read in chunks into an input buffer. Hence, wrapping a reader in an additional BufferedReader likely won't improve reading performance.

        Parameters:
        reader - the reader to read the JSON value from
        Returns:
        a value that represents the parsed JSON
        Throws:
        IOException - if an I/O error occurs in the reader
        ParseException - if the input is not valid JSON