0
將不包含有效JSON的文本值轉換爲JSON只是將語句彈出。我不知道哪一行或哪個值。我如何得到這個?PostgreSQL - 查找無效的文本值JSON
手指劃過,它不涉及UDF ......我真的不想將這些注入到我們的堆棧中。 (我們使用Ruby的Rails的ActiveRecord的數據庫遷移,和我幾乎可以肯定的UDF將不被記錄到schema.rb
。)
將不包含有效JSON的文本值轉換爲JSON只是將語句彈出。我不知道哪一行或哪個值。我如何得到這個?PostgreSQL - 查找無效的文本值JSON
手指劃過,它不涉及UDF ......我真的不想將這些注入到我們的堆棧中。 (我們使用Ruby的Rails的ActiveRecord的數據庫遷移,和我幾乎可以肯定的UDF將不被記錄到schema.rb
。)
你例外的校驗值找到行,如:
t=# do
$$
declare _r record;
begin
for _r in (with j as (select * from (values ('3'),('{"valid":true}'),('notValid')) as son) select column1 v from j) loop
begin
perform _r.v::json;
exception when others then raise info '%',concat(_r.v,' ',SQLSTATE);
end;
end loop;
end;
$$
;
INFO: notValid 22P02
DO
t=# \e
INFO: test3 22P02
INFO: notValid 22P02
DO
一函數**是最好的(也可能是唯一的)解決方案。如果你的混淆層不允許你使用它,你應該找到一些不同的東西。 –
你嘗試過'to_json'嗎? –