PostgreSQL获取json作为记录

PostgreSQL获取json作为记录,sql,postgresql,Sql,Postgresql,我希望能够获得一个json对象作为记录 SELECT select row_number() OVER () AS gid, feature->'properties' FROM dataset 此查询的输出如下所示: 基德 ?专栏?json 1. {“a”:“1”、“b”:“2”、“c”:“3”} 2. {“a”:“3”、“b”:“2”、“c”:“1”} 3. {“a”:“1”} 没有通用的方法可以做到这一点,因为在查询解析时必须知道列的数量、类型和名称。因此,您必须: SELECT

我希望能够获得一个json对象作为记录

SELECT select row_number() OVER () AS gid, feature->'properties' FROM dataset
此查询的输出如下所示:

基德 ?专栏?json 1.
{“a”:“1”、“b”:“2”、“c”:“3”}
2.
{“a”:“3”、“b”:“2”、“c”:“1”}
3.
{“a”:“1”}

没有通用的方法可以做到这一点,因为在查询解析时必须知道列的数量、类型和名称。因此,您必须:

SELECT row_number() OVER () AS gid,
       CAST(feature #>> '{properties,a}' AS integer) AS a,
       CAST(feature #>> '{properties,b}' AS integer) AS b,
       CAST(feature #>> '{properties,c}' AS integer) AS c
FROM dataset;

基本上,您必须提前知道列,并在查询中硬编码它们。

您可以将json文件添加到您的问题中吗?这就是我的想法,我需要知道所有列的类型、编号和名称