See: Description
| Interface | Description |
|---|---|
| JsonContext |
Converts objects to and from JSON format.
|
| JsonElement |
Marker interface for all the Raw JSON types.
|
| JsonReadBeanVisitor<T> |
Provides for some custom handling of json content as it is read.
|
| JsonValueAdapter |
Allows you to customise the Date and Timestamp formats.
|
| JsonWriteBeanVisitor<T> |
Allows for customising the JSON write processing.
|
| JsonWriter |
The JSON Writer made available to JsonWriteBeanVisitor's so that you can
append your own JSON content into the output.
|
| Class | Description |
|---|---|
| JsonElementArray |
JSON Array element.
|
| JsonElementBoolean |
JSON boolean element.
|
| JsonElementNull |
JSON null element.
|
| JsonElementNumber |
JSON number element.
|
| JsonElementObject |
JSON Object element.
|
| JsonElementString |
JSON string element.
|
| JsonReadOptions |
Provides the ability to customise the reading of JSON content.
|
| JsonWriteOptions |
Provides options for customising the JSON write process.
|
The goal is to provide JSON support taking into account various ORM issues such as partial objects (for fetching and updating), reference beans and bi-directional relationships.
// find some customers ...
List<Customer> list = Ebean.find(Customer.class)
.select("id, name, status, shippingAddress")
.fetch("billingAddress","line1, city")
.fetch("billingAddress.country", "*")
.fetch("contacts", "firstName,email")
.order().desc("id")
.findList();
JsonContext json = Ebean.createJsonContext();
JsonWriteOptions writeOptions = new JsonWriteOptions();
writeOptions.setRootPathVisitor(new JsonWriteBeanVisitor<Customer>() {
public void visit(Customer bean, JsonWriter ctx) {
System.out.println("write visit customer: " + bean);
ctx.appendKeyValue("dummyCust", "34");
ctx.appendKeyValue("smallCustObject", "{\"a\":34,\"b\":\"asdasdasd\"}");
}
});
writeOptions.setPathProperties("contacts", "firstName,id");
writeOptions.setPathVisitor("contacts", new JsonWriteBeanVisitor<Contact>() {
public void visit(Contact bean, JsonWriter ctx) {
System.out.println("write additional custom json on customer: " + bean);
ctx.appendKeyValue("dummy", " 3400" + bean.getId() + "");
ctx.appendKeyValue("smallObject", "{\"contactA\":34,\"contactB\":\"banana\"}");
}
});
// output as a JSON string with pretty formatting
String s = json.toJsonString(list, true, writeOptions);
Copyright © 2014. All Rights Reserved.