下面的命令工作
select '[0,1, -2, -0.3444, 5.6]'::jsonb;
但是下面3个不工作。
select '[0,1, -2, (+0.3444), 5.6]'::jsonb;
select '[0,1, -2, +0.3444, 5.6]'::jsonb;
select '[0,1, -2, +0, 5.6]'::jsonb;
下面的工作
select +0.1;
select (+0.1)::text;
第一个工作示例是一个包含有效JSON文档的字符串,被强制转换为JSONB;
不工作的示例再次将字符串强制转换为JSONB,但字符串包含无效的JSON表达式,因此不能解析为JSON。如果你看一下JSON语法,number
是integer fraction exponent
,integer
的数字可以选择以-
开头。在JSON中不允许使用符号+
。括号也是不允许的。你可以使用JSON验证器来验证。