【问题标题】:Get JSON Array from JSON Object and Count Number of Objects从 JSON 对象获取 JSON 数组并计算对象数量
【发布时间】:2021-05-11 14:03:49
【问题描述】:

我有一列包含一些这样的数据:

{
  "activity_goal": 200,
  "members": [
    {
      "json": "data"
    },
    {
      "HAHA": "HAHA"
    },
    {
      "HAHA": "HAHA"
    }
  ],
  "name": "Hunters Team v3",
  "total_activity": "0",
  "revenue_goal": 200,
  "total_active_days": "0",
  "total_raised": 300
}

我正在使用cast(team_data -> 'members' as jsonb) 获取“成员”JSON 数组,这给了我这样的列:

[
  {
    "json": "data"
  },
  {
    "HAHA": "HAHA"
  },
  {
    "HAHA": "HAHA"
  }
]

我正在使用array_length(cast(team_data -> 'members' as jsonb), 1) 拉出一列,其中包含列表中存在的成员数。当我这样做时,我得到了这个错误: function array_length(jsonb, integer) does not exist 注意:我也尝试过转换为“json”而不是“jsonb”

我关注this documentation。我做错了什么?

【问题讨论】:

    标签: sql json postgresql


    【解决方案1】:

    使用json_array_length等json时使用JSON函数

    select json_array_length(team_data -> 'members') from mytable
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多