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
    Represents the JSON literal false.
    static JsonValue
    Represents the JSON literal null.
    static JsonValue
    Represents the JSON literal true.
  • Method Summary

    Modifier and Type
    Method
    Description
    static JsonArray
    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
    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

    • 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 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