选择为JSON对象{key:{}}

时间:2015-06-11 14:59:12

标签: json postgresql plpgsql

我的表:

array (size=3)
 0 => string '1' 
 1 => string '6, 7'
 7 => string '8' 

有没有办法以ID | something1 | something2 | ... 1 | meow | 5 | 2 | 4 | KITTIES | 格式选择数据作为JSON?

2 个答案:

答案 0 :(得分:1)

您可以使用this library获取数据库的API。然后,消耗它!这是我能想象到的最快,最清晰的事情。

答案 1 :(得分:1)

如果您不介意在一行的JSON表示中重复ID字段,您可以这样做:

SELECT 
  format('{%s}',
    string_agg(
      format(
        '%s:%s',
        to_json(ID::text),
        row_to_json(my_table)
      ), ','
    ), ''
  )::json as json_object
FROM my_table;

这为您提供了一个JSON对象,其中包含表中每行的子对象,并以ID字段中的值为键。

SQLFiddle

有关详细信息,请参阅this question