ZENITH支持的JSON数据格式如下:
object类型 :以“{”开始,以“}”结束,是一个无序的键值对的集合。键是以双引号括住的字符串,键值间以“:”分隔。键值对可指定零个或多个,中间以逗号分隔。
object = '{ key : value }'
array类型:以“[”开始,以“]”结束,是值的有序集合,可指定零个或多个,值间以“,”分隔。
array = '[ value ]'
key :由双引号括起来的字符的集合,可以使用反斜杠“\”转义。
key= '"' [ characters | escaped_characters ] '"'
escaped_characters = { '\"' | '\\' | '\/' | '\b' | '\f' | '\n' | '\r' | '\t' }
characters = any UNICODE characters except " or \ or control character
number类型:格式和ZENITH格式相同,但不允许NaN和infinity值。
value:双引号括起来的字符串、数值、true、false、null、对象或者数组。
value = { object | array | string | number | 'null' | 'true' | 'false' }
ZENITH支持的JSON数据规格如下:
JSON数据大支持1M字节;
JSON数据大嵌套层次为32;
JSON数组大元素个数为1024;
JSON对象大键值对个数为1024;
JSON字符串中参数key和参数value的大长度32767字节(包含转义符'\'长度,例如换行符“\n”认为是两个字节)。
功能:ZENITH支持将JSON数据存储在类型为VARCHAR2、CLOB的列
-- insertJSON格式数据
INSERT INTO t_school VALUES(1, '{"name":"First Primary School", "create_time":"2012-05-08", "classes": [{"name":"class 1", "size":50, "teachers":{"teacher":"Master Zhang", "age":31}}, {"name":"class 1", "size":45, "teachers":{"teacher":"Master Liu", "age":40}}]}');
COMMIT;