![](/img/trans.png)
[英]Convert array of string to array of Json objects in Postgresql Jsonb
[英]PostgreSQL update JSONB column from JSON string to Array of JSON objects
我正在尝试从 JSON 字符串更新 JSONB 列的值,例如:
{"fruit":"apple", "color":"blue"}
到 JSON 个对象的数组,例如:
[{"fruit":"apple"}, {"color":"blue"}]
我尝试了以下命令:
UPDATE table_name SET data = json_build_array(data::JSONB);
然而,它给了我以下内容:
[{"fruit":"apple","color":"blue"}]
我可以使用什么来获取数组中单独的 JSON 个对象?
您可以使用json_each
访问 JSON object 中的每个键值对,然后将结果聚合到一个数组中:
update table_name set data = (select json_agg(json_build_object(v.key, v.value))
from json_each(data) v)
见小提琴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.