类 DbDocImpl

  • 所有已实现的接口:
    DbDoc, JsonValue, Serializable, Cloneable, Map<String,​JsonValue>, NavigableMap<String,​JsonValue>, SortedMap<String,​JsonValue>

    public class DbDocImpl
    extends TreeMap<String,​JsonValue>
    implements DbDoc
    Represents a JSON object:
       {}
       or
       {key : value}
       or
       {key : value, key : value, ...}
     
    key is a JSON string. value is any of JSON object, array, number, string, true, false, null. Example of valid JSON object:
     {
     "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 need to use JsonParser.parseDoc(java.io.StringReader) method:
     DbDoc doc = JsonParser.parseDoc(new StringReader("{\"key1\" : \"value1\"}"));
     
    You can construct JSON document by DbDoc, JsonString, JsonNumber, JsonArray and JsonLiteral methods and get JSON string representation by using toString() method. For example, to get the document shown above:
     DbDoc doc = new DbDoc().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 DbDoc().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 DbDoc()))
             .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 DbDoc()));
     
     doc.toString();
     
    另请参阅:
    序列化表格