从PostgreSQL

时间:2017-11-17 15:02:53

标签: sql postgresql postgis geojson

我是postgreSQL的新手。在我的项目中,我有一个表,我需要将所有字段作为json格式。我试过下面的代码

SELECT row_to_json(f) As feature 
 FROM (SELECT 'Feature' As type 
 , ST_AsGeoJSON(geom)::json As geometry 
 , row_to_json((SELECT l FROM (SELECT objectid) As l)) As properties 
 FROM plutoreferencedata As l WHERE l.objectid = '3') As f;

我得到的结果如下

  

“{” 类型 “:” 功能”, “几何”:{ “类型”: “的MultiPolygon”, “坐标”:[[[[979999.082000002,196493.280000001],[979897.966399997,196147.8204],[979718.105800003,196197.441599995] ,[979823.056799993,196549.6884],[979999.082000002,196493.280000001]]]]},“属性”:( ...)“

看看结果吧。在内部属性中它显示了一些......仅..请帮助我获取属性中的值。期望的输出如下所示

>   {    "geometry":{
>       "type":"MultiPolygon",
>       "coordinates":[
>          [
>             [
>                [
>                   -309443.24253826,
>                   388111.579584133
>                ],
>                [
>                   -134666.391073443,
>                   239616.414560895
>                ],
>                [
>                   -308616.222736376,
>                   238788.813082666
>                ],
>                [
>                   -309443.24253826,
>                   388111.579584133
>                ]
>             ]
>          ]
>       ]    },    "type":"Feature",    "properties":{
>       "objectid":'3'    } }

在我的情况下,对象id是一个文本值..请帮我这个。如果你能给我解决方案,这将是很好的......

提前致谢

2 个答案:

答案 0 :(得分:0)

如果您说输出包含(...)而不是列出您的属性,则这是您用于运行查询的任何GUI的副作用。例如,pgAdmin只会在添加(...)之前显示如此多的输出。

enter image description here

双击字段(...)将打开一个对话框,显示整个查询结果,并允许您将其全部复制。

enter image description here

答案 1 :(得分:0)

再次感谢你的回答@Leonardo Alves和@D T.我找到了另一个选项。enter image description here

执行并保存结果将提供完整的输出值而不是点。