我编写了一个 plpgsql 脚本,它在字符串中生成一个 json 对象数组,但是在我使用 to_json() 方法将带有该字符串的变量传递给它之后,它返回一个带双引号的结果,并且每个双引号字符都被转义。但我需要原样的字符串。
jsonResult 变量的初始内容是:
[{"key":{04949429911,"Code":"400"},"value":"20000.00"},{"key":{"InsuranceNumber":"04949429911","Code":"403"}, “值”:“10000.00”},...]
但在 to_json() 之后,它看起来像这样:
"[{\"key\":{04949429911,\"Code\":\"400\"},\"value\":\"20000.00\"},{\"key\":{\"InsuranceNumber\ ":\"04949429911\",\"代码\":\"403\"},\"值\":\"10000.00\"}...]"
这是存储在 json 结果中的所有内容制动的地方:
UPDATE factor_value SET params = to_json(jsonResult) WHERE id = _id;
我究竟做错了什么?
这个答案 https://stackoverflow.com/a/26156547/785663指出简单地转换为json
应该足够了:
UPDATE factor_value SET params = jsonResult::json WHERE id = _id;
你看到的奇怪的转义可能是由于 postgresql 没有意识到你已经有了有效的 JSON 并且你的varchar
只是转换为纯 javascript/JSON 字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)