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;