ITPub博客

首页 > 数据库 > > GaussDB 100 JSON支持

GaussDB 100 JSON支持

作者:GaussDB_数据库 时间:2020-02-25 14:29:24 0 删除 编辑

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;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3149881/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 产品文档术语-V
请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19305