暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 支持的JSON数据格式和数据规则

原创 章芋文 2019-09-25
1402

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;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论