Interface DbDoc

All Superinterfaces:
JsonValue, java.util.Map<java.lang.String,​JsonValue>
All Known Implementing Classes:
DbDocImpl

public interface DbDoc
extends JsonValue, java.util.Map<java.lang.String,​JsonValue>
The object representation of a JSON document.

JSON document examples:

   {}
   or
   {key : value}
   or
   {key : value, key : value, ...}
 

key is a JSON string.

value is any one of JSON object, array, number, string, true, false, null.

Example of a valid JSON document:

 {
 "field1" : "value 1",
 "field2" : 1.234544E+26,
 "field3" : true,
 "field4" : false,
 "field5" : null,
 "field6" : {
            "inner field 1" : "inner value 1",
            "inner field 2" : 2,
            "inner field 3" : true,
            "inner field 4" : false,
            "inner field 5" : null,
            "inner field 6" : [],
            "inner field 7" : {}
            },
 "field7" : ["arr1", 3, true, false, null, [], {}]
 }
 
To create DbDoc from existing string representation you could use the JsonParser.parseDoc(java.io.StringReader) method:
 DbDoc doc = JsonParser.parseDoc(new StringReader("{\"key1\" : \"value1\"}"));
 
To construct a JSON document you can use the DbDoc, JsonString, JsonNumber, JsonArray, or JsonLiteral method. To get a JSON string representation use the toString() method. For example, to get the document shown above:
 DbDoc doc = new DbDocImpl().add("field1", new JsonString().setValue("value 1")).add("field2", new JsonNumber().setValue("12345.44E22"))
         .add("field3", JsonLiteral.TRUE).add("field4", JsonLiteral.FALSE).add("field5", JsonLiteral.NULL)
         .add("field6",
                 new DbDocImpl().add("inner field 1", new JsonString().setValue("inner value 1")).add("inner field 2", new JsonNumber().setValue("2"))
                         .add("inner field 3", JsonLiteral.TRUE).add("inner field 4", JsonLiteral.FALSE).add("inner field 5", JsonLiteral.NULL)
                         .add("inner field 6", new JsonArray()).add("inner field 7", new DbDocImpl()))
         .add("field7", new JsonArray().addValue(new JsonString().setValue("arr1")).addValue(new JsonNumber().setValue("3")).addValue(JsonLiteral.TRUE)
                 .addValue(JsonLiteral.FALSE).addValue(JsonLiteral.NULL).addValue(new JsonArray()).addValue(new DbDocImpl()));
 
 doc.toString();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from interface java.util.Map

    java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
  • Method Summary

    Modifier and Type Method Description
    DbDoc add​(java.lang.String key, JsonValue val)
    Add JsonValue to the top-level document hierarchy.

    Methods inherited from interface com.mysql.cj.xdevapi.JsonValue

    toFormattedString

    Methods inherited from interface java.util.Map

    clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
  • Method Details

    • add

      DbDoc add​(java.lang.String key, JsonValue val)
      Add JsonValue to the top-level document hierarchy.
      Parameters:
      key - field key
      val - field value
      Returns:
      DbDoc