这一部分介绍JSON
概述
其实,这一部分不光对vertx有用。在很多的地方都用到json。
由于java没有提供原生的json支持。因此,在vertx中提供了两种JSON的类型,而没有采用第三方的json类库。
JSON objects
JsonObject对象表示了一个json的对象。它实质上就是一个map,拥有string类型的key,和其支持的类型(string, number, boolean)的value。当然它也支持null的value值。
Creating JSON objects
空的json object可以使用默认的构造方法创建出来。也可以从一个json形式的字符串创建一个json object 对象。如下:
String jsonString = "{\"foo\":\"bar\"}";
JsonObject object = new JsonObject(jsonString);
Putting entries into a JSON object
使用put方法在json对象中添加值。
JsonObject object = new JsonObject();
object.put("foo", "bar").put("num", 123).put("mybool", true);//the fluent API:
Getting values from a JSON object
使用getXXX()方法:
String val = jsonObject.getString("some-key");
int intVal = jsonObject.getInteger("some-other-key");
Encoding the JSON object to a String
使用encode方法,来将一个json object序列化为一个字符串。
JSON arrays
json格式的数组
Creating JSON arrays
空的json array可以使用默认的构造方法创建出来。也可以从一个json array形式的字符串创建一个json array对象。如下:
String jsonString = "[\"foo\",\"bar\"]";
JsonArray array = new JsonArray(jsonString);
Adding entries into a JSON array
add方法
JsonArray array = new JsonArray();
array.add("foo").add(123).add(false);
Getting values from a JSON array
使用getXXX()方法:
String val = array.getString(0);
Integer intVal = array.getInteger(1);
Boolean boolVal = array.getBoolean(2);
Encoding the JSON array to a String
使用encode方法。