我正在使用Postgres' (9.3.13)array_to_json
函数将bigint id
字段序列化为JSON数组。
在执行某个单元和验收测试期间,我意识到array_to_json
的结果是一个数字数组而不是字符串数组,这是我所期望的。
我的问题是largest safe integer in Javascript是:
25 ^ 3 - 1(9007199254740991),
而largest bignum in Postgres是:
9223372036854775807
不会导致Javascript中数字大于25^3 - 1
的不安全表示?这真的是Postgres' json序列化?如果是,我如何让array_to_json
返回一个字符串数组而不是数字?
答案 0 :(得分:0)
将输入数组转换为文本数组:
SELECT array_to_json(array[1,2,3]::TEXT[]);
-- returns ["1","2","3"]