Class Json

java.lang.Object
com.restfb.json.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

    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • 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