#JSON对象模型

com.yashandb.json包里面定义了YashanDB目前支持的json的16种类型对象模型的含义以及对应关系:

YasonType code JSON类型对象模型 含义
YASON_OBJECT 1 YasonObject json标准类型,代表json的Object类型
YASON_ARRAY 2 YasonArray json标准类型,代表json的Array类型
YASON_STRING 3 YasonString json标准类型,代表json的字符串类型。
YASON_NUMBER 4 YasonDecimal json标准类型,代表json的数字类型。
YASON_BOOLEAN 5 YasonBoolean json标准类型,代表json的布尔类型。
YASON_NULL 6 YasonNull json标准类型,代表json的null类型。
YASON_BYTE 7 YasonByte json扩展类型,是对json的数字类型的细分,对应-128~127范围内的整数类型。
YASON_SHORT 8 YasonShort json扩展类型,是对json的数字类型的细分,对应java的short类型。
YASON_INT 9 YasonInt json扩展类型,是对json的数字类型的细分,对应java的int类型。
YASON_BIGINT 10 YasonLong json扩展类型,是对json的数字类型的细分,对应java的long类型。
YASON_FLOAT 11 YasonFloat json扩展类型,是对json的数字类型的细分,对应java的float类型。
YASON_DOUBLE 12 YasonDouble json扩展类型,是对json的数字类型的细分,对应java的double类型。
YASON_BINARY 13 YasonBinary json扩展类型,表示二进制类型,对应java里面的byte数组。
YASON_TIMESTAMP 14 YasonTimestamp json扩展类型,对应java里面的Timestamp类型。
YASON_DATE 15 YasonDate json扩展类型,对应java里面的Date类型。
YASON_TIME 16 YasonTime json扩展类型,对应java里面的Time类型。

注意:其中3~16的这些类型都为非标量类型,创建后它所包含的值就不可修改。

上面16种对象模型都继承自YasonValue父级接口,YasonValue包含如下方法:

返回类型 方法 备注
YasonType getType() 获取json类型。
int getDepth() throws SQLException 获取json深度,深度超过100会抛出异常。
Object getValue() 获取json内部实际的值。
String getString() 获取json的值的字符串形式。
byte[] getBinaryData() throws SQLException 获取json编码成的二进制数据。
String toString() 获取json格式的字符串。
pdf-btn 下载文档
copy-btn 复制链接