Postgres JSON函数传递了字符串而不是对象
Postgres JSON function passed string instead of object
所以我有一个Postgres函数,旨在递归地合并两个JSONB对象,它在生产服务器上运行良好,但在本地Postgres安装中失败。函数本身是用plv8
(基本上是v8Javascript引擎)编写的,并期望两个JSONB格式的参数合并;问题是JSON是作为字符串而不是对象传入的,这实质上破坏了整个函数。
不过,这只发生在我的本地计算机上,一个新的Postgres 9.4.5安装。生产服务器正在运行9.4.4,这不应该导致跨版本的重大更改。。。想去哪里看看这里坏了什么?
编辑:现在可以确认恢复到9.4.4不会使其在本地上的行为有任何不同
很难说。可能性:
-
不同的强制转换-您可以定义自定义强制转换-
CREATE CAST
语句-尝试检查psql
命令'dC *json*
的结果 -
9.4.5 中引入的新错误
FWIW,升级到9.5似乎为我解决了这个问题。
相关文章:
- 如何使用jquery读取对象字符串
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- Javascript对象字符串值-在应该隐藏的时候呈现的HTML代码
- 在Nodejs中将数组转换为类似子的对象字符串
- 对象字符串转换为JSON(抛出错误)
- 如何将事件对象字符串化
- 如何在 JavaScript 中将 JSON 对象字符串化为负零
- 将 JSON 对象字符串数组转换为 JS 对象数组
- 如何在角度转换请求中将对象字符串转换为 JSON 对象
- 删除开头的双引号&结束于JSON对象/字符串或Java脚本变量
- 将json对象字符串转换为值
- 如何迭代json对象字符串
- 将数组列表转换为json对象字符串
- 如何将继承的对象字符串化为JSON
- 如何按对象字符串值之一对对象数组进行数字排序
- 解析日期对象字符串并获取以毫秒为单位的时间
- 如何在javascript中解析javascript对象字符串
- Javascript类对象字符串到对象
- 从使用.data()添加的对象字符串中获取值
- 如何在javascript中添加一个函数变量到对象字符串