- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的字段中没有 json 文本。我有一行包含 "text","format","keyname","..."
列,我想以 '{"value of keyname 格式将其导出到 json列”:{“文本”:“文本的值”,“格式”:“格式的值”,...}}'
。这在 postgresql 中可能吗?
我一直在查看 postgis2geojson 示例并了解了 row_to_json 函数。 http://www.postgresonline.com/journal/archives/267-Creating-GeoJSON-Feature-Collections-with-JSON-and-PostGIS-functions.html
此外,我一直在查看 postgres json 文档:http://www.postgresql.org/docs/9.3/static/functions-json.html
不幸的是,我没有找到明确满足我的需求的功能,但是 json_each
只是在相反的方向上做我想要的。通常,我认为postgres中的json函数是基于只能将列名用作键的假设来设计的。我对吗?我可以使用 SQL hack 来解决这个问题吗?感谢您的帮助。
编辑:
select '"'||keyname||'":"'||row_to_json((select r from(Select text, format,
(select username from my.users where users.id = table.uid) as username,
machinename ) as r ))||'"'
from my.table where id = 1;
最佳答案
从 9.4 版本开始,postgres 有了 json_object_agg
函数,它是 json_each
的逆函数。您可以阅读文档 here .
如果数据是这样的:
> select * from example;
text | format | keyname
------+--------+---------
foo | bar | a
dead | beef | b
(2 rows)
然后您可以使用以下查询将所有这些聚合到一个具有键 a
和 b
的对象中:
> select json_object_agg(keyname, json_build_object('text', text, 'format', format)) from example;
json_object_agg
------------------------------------------------------------------------------------------
{ "a" : {"text" : "foo", "format" : "bar"}, "b" : {"text" : "dead", "format" : "beef"} }
(1 row)
关于json - json_each 的 postgres 逆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069143/
我收到 json_each 函数不存在的错误。我正在使用 postgresql 9.3。我不知道怎么了。请在这里帮助我。 select * from json_each(( select ed
我有以前使用 json_each(x) 从 Postgresql 中提取的数据,我正在数据库迁移后在 Presto 中寻找 json_each 的等效项以将我的数据提取到多行中。原来的格式是这样的{"
我的字段中没有 json 文本。我有一行包含 "text","format","keyname","..." 列,我想以 '{"value of keyname 格式将其导出到 json列”:{“文本
我刚刚升级到 Postgresql 9.3beta。当我将 json_each 或 json_each_text 函数应用于 json 列时,结果是一组列名称为 'key' 和 的行“值(value)
我正在尝试使用 Postgres 生成以下输出 ONE TWO THREE ===================== A1 A2 A3 B1 B2
我正在尝试找出使用 json_each 的正确方法。我见过一些技巧,例如使用 column 或 text。到目前为止,我已经找到了一种使用 table_valued 的非常干净的方法,除了交叉连接警告
我已经通过 brew 安装了带有 JSON1 的 SQLite3: brew install sqlite3 --with-json1 --with-fts5 版本: 3.15.2 2016-11-2
我是一名优秀的程序员,十分优秀!