• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

KingbaseES支持JSON和JSONB。这两种类型在使用上几乎完全相同。主要区别是

JSON类型将输入数据原封不动地存储在数据库中。JSONB类型在存储JSON时将其解析为二进制格式。

JSONB支持在上面索引,而JSON不能,这是JSONB的一大优势。

在JSON中,冗余空格、重复键和键的顺序都会被保留。另一方面,JSONB不保留多余的空格、重复的键和键的顺序。

JSON基本类型和相应的KingbaseES类型

JSON基本类型

KingbaseES类型

给…作注解

线

文本

\u0000是不允许的。如果数据库编码不是UTF8,那么非ASCII Unicode转义也是。

数字

数字的

JSON中没有NaN和infinity值。

布尔型

布尔型

JSON只接受小写的true和false拼写。

(无)

SQL NULL是一个不同的概念

JSON输入和输出语法

以下是合法的json(或jsonb)表达式:

简单标量/基本值

基本值可以是数字、带引号的字符串、true、false或nullSELECT ' 5 ' :json

具有零个或多个元素的数组(元素不必属于同一类型)select“[1,2,' foo ',null]”33603360 JSON;

对于包含键-值对的对象,请注意对象键必须始终是带引号的字符串select ' { ' bar ' : ' baz ',' balance' 3360 7.77,' active ' 3360 false } ' 33603360 JSON;

并且数组对象可以任意嵌套select ' { foo ' :[true,' bar'],' tags' : {'a' 3360 1,' b ' 3360 null } } ' 3360: JSON

如前所述,当输入一个json值,然后不做任何额外处理输出时,JSON将输出与输入完全相同的文本,而JSONB不会保留语义上无意义的细节(比如空格)。

例如,请注意以下差异:

SELECT ' { ' bar ' : ' baz ',' balance': 7.77,' active ' : false } ' :3360 JSON;

数据。-

{'bar': 'baz ',' balance': 7.77,' active':false}

(1行)

SELECT ' { ' bar ' : ' baz ',' balance': 7.77,' active ' : false } ' :3360 jsonb;

jsonb。-

{'bar': 'baz ',' active': false,' balance': 7.77}

(1行)

Link to comment
Share on other sites