In postgresql 9.5, is there a way to rename an attribute in a jsonb field?

例如:

{ "nme" : "test" }

应更名为

{ "name" : "test"}

推荐答案

UPDATE中使用delete (-) and concatenate (||) operators,例如:

create table example(id int primary key, js jsonb);
insert into example values
    (1, '{"nme": "test"}'),
    (2, '{"nme": "second test"}');

update example
set js = js - 'nme' || jsonb_build_object('name', js->'nme')
where js ? 'nme'
returning *;

 id |           js            
----+-------------------------
  1 | {"name": "test"}
  2 | {"name": "second test"}
(2 rows)

Json相关问答推荐

为什么JQ筛选器不将原始输入打印为$var|.';文档?

给定一个包含两个数组的JSON输入文件,如何使用Jolt将一个数组中的每个元素与另一个数组组合在一起?

在 PowerShell 中通过 aws cli 创建 cloudwatch alert 时出现字符串解析错误

打印与 JSON 和 PowerShell 中的模式匹配的子项的父项名称

jq: Select 何时来自另一个数组的值与此 json 中的值匹配

将 json 文件转换为 json 对象会打乱对象的顺序

如何将动态复杂 json 解析为dart 对象或模型

如何限制resolveJsonModule的范围?

使用 Javascript 判断 JSON 对象是否包含值

从 Postgres 中的 json 对象中提取键、值

如何在 Eclipse 中安装和使用 JSON 编辑器?

使用 gson 反序列化对象的特定 JSON 字段

Jackson:忽略 Json 配置值

带有方法参数的 WCF webHttpBinding 错误. 最多可以在没有包装元素的情况下序列化一个主体参数

与classic 规范化表相比,postgres JSON 索引是否足够高效?

从 Json 对象 Android 中获取字符串值

MVC JsonResult camelCase 序列化

杰克逊自动将 Joda DateTime 格式化为 ISO 8601 格式

将 Pandas 数据框转换为嵌套 JSON

无法解析 JSON 文件中的 TAB