JSON

To manipulate JSON object, Vert.x proposes its own implementation of JsonObject and JsonArray.

This is because, unlike some other languages, Java does not have first class support for JSON.

There is a helper class (Json) to ease the creation of JsonObject/JsonArray instances.

Note
Most vert.x methods taking a JSON object as argument in their Java version, take a map instead.

JSON objects

The JsonObject class represents JSON objects.

A JSON object is basically just a map which has string keys and values can be of one of the JSON supported types (string, number, boolean).

JSON objects also support null values.

Creating JSON objects

Empty JSON objects can be created with the default constructor or using .

You can create a JSON object as follows:

import io.vertx.lang.scala.json.Json

def object = Json.obj(("foo","bar"))

Putting entries into a JSON object

Use the put methods to put values into the JSON object.

The method invocations can be chained because of the fluent API:

import io.vertx.lang.scala.json.Json

val object = Json.emptyObj()
object.put("foo", "bar").put("num", 123).put("mybool", true)

Getting values from a JSON object

You get values from a JSON object using the getXXX methods, for example:

val stringVal = jsonObject.getString("some-key")
val intVal = jsonObject.getInteger("some-other-key")

Encoding the JSON object to a String

You use encode to encode the object to a String form. There is also a encodePrettily that makes the output pretty (understand multi-line and indented).

JSON arrays

The JsonArray class represents JSON arrays.

A JSON array is a sequence of values (string, number, boolean).

JSON arrays can also contain null values.

Creating JSON arrays

You can create a JSON array as follows:

import io.vertx.lang.scala.json.Json

val jsonArray = Json.arr("bar", "baz")

Adding entries into a JSON array

You add entries to a JSON array using the add methods.

import io.vertx.lang.scala.json.Json

val jsonArray = Json.emptyArray()
jsonArray.add("foo").add(123).add(false)

Getting values from a JSON array

You get values from a JSON array using the getXXX methods, for example:

val stringVal = array.getString(0)
val intVal = array.getInteger(1)
val boolVal = array.getBoolean(2)

Encoding the JSON array to a String

You use encode to encode the array to a String form. There is also a encodePrettily that makes the output pretty (understand multi-line and indented).