【问题标题】:How do I edit this json?我如何编辑这个json?
【发布时间】:2017-09-15 03:28:21
【问题描述】:

我的视图中有这段代码:

SELECT json_object_agg(code,value) FROM table1

它在我的 postgREST api 中生成:

[{"json_object_agg":"{code1: value1, code2: value2, ...}"]

我想删除json_object_agg 使其变成这样:

[{code1: value1, code2: value2, ...}]

我该怎么做?

【问题讨论】:

    标签: arrays json postgresql view postgrest


    【解决方案1】:

    您不能有空的结果集名称。我认为这与您获得的previous question 有关

    t=# select json_object_agg(code,value) from tt;
                      json_object_agg
    ----------------------------------------------------
     { "ALLOW_MAC_ADDR" : "1", "USER_ALIAS" : "James" }
    

    因此,如果您尝试使用空值(我能从您的帖子要求中想到的最接近的)命名列,则会收到错误:

    t=# select json_object_agg(code,value) "" from tt;
    ERROR:  zero-length delimited identifier at or near """"
    LINE 1: select json_object_agg(code,value) "" from tt;
                                           ^
    

    当然,你可以用空格字符来修改它,比如:

    t=# select json_object_agg(code,value) " " from tt;
    
    ----------------------------------------------------
     { "ALLOW_MAC_ADDR" : "1", "USER_ALIAS" : "James" }
    

    这几乎没有名字,但我假设你必须修改你的“postgREST api”才能正确地做到这一点 - 忽略结果集属性名称

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2018-12-11
      • 2012-07-29
      • 1970-01-01
      相关资源
      最近更新 更多