【问题标题】:Select as JSON object {key: {}}选择为 JSON 对象 {key: {}}
【发布时间】:2015-08-27 08:41:39
【问题描述】:

我的桌子:

ID | something1 | something2 | ...
1  | meow       | 5          |
2  | 4          | KITTIES    |

有什么方法可以选择{"1":{"something1":"meow","something2":5},"2":{...}}格式的JSON数据?

【问题讨论】:

    标签: json postgresql plpgsql


    【解决方案1】:

    您可以使用this library 获取数据库的API。那就吃吧!这是我能想象到的最快最清晰的事情。

    【讨论】:

      【解决方案2】:

      如果您不介意在一行的 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-07
        • 2021-04-06
        相关资源
        最近更新 更多