当前位置: 首页 > 知识库问答 >
问题:

postgres9.4通过jsonb循环:如何选择键的值:val对

艾安和
2023-03-14

这个plpgsql脚本从一组jsonb对象键:值对中选择键,但是如何为每对选择值呢?

DO
$BODY$
DECLARE
    js jsonb := '{"a": "1", "b": "2", "c": "3"}';
    i text;
BEGIN
  FOR i IN SELECT * FROM jsonb_each_text(js)
  LOOP
    RAISE NOTICE 'key %', i;
    --RAISE NOTICE 'value %', i.value; <--fai
  END LOOP;
END;
$BODY$;

应该可以作为手册页http://www.postgresql.org/docs/9.4/static/functions-json.html指示返回值是键文本、值文本的集合。这篇Postgres-array for loop回答了array的问题。还尝试了jsonb_each()和jsonb_array_elements()将迭代器更改为jsonb,错误为“无法从对象中提取元素”

共有1个答案

滕鸿畴
2023-03-14

正如您声明的itext一样,它只包含第一列。将其声明为记录

DO
$BODY$
DECLARE
    js jsonb := '{"a": "1", "b": "2", "c": "3"}';
    i record;
BEGIN
  FOR i IN SELECT * FROM jsonb_each_text(js)
  LOOP
    RAISE NOTICE 'key %', i.key;
    RAISE NOTICE 'value %', i.value;
  END LOOP;
END;
$BODY$;
 类似资料:
  • 我想允许至少3个复选框将检查,我试过下面的代码但它不是很好地工作。 HTML... jQuery 有人请帮助我,我如何选择至少2个复选框?

  • 问题内容: 我在MySQL中有以下语言表,用于选择其他语言的文本。 该表包含以下数据 组字段告诉我每种翻译属于哪些文本。在上面的示例中,组“ 3”具有默认文本(英语)和德语翻译。 现在,我想选择德语的所有文本,如果不存在,我将要使用后备英语文本。 有人知道如何将它们整合到SQL语句中吗? 问题答案: SQLFiddle演示

  • 假设我们有一些s属于同一,当用户点击时,它被选中了。我想添加一个功能,当用户点击已经选中的时,它会被取消选中,即整个将不会选中。我已经搜索了提示使用的方法,method,clearSelection。但问题是,当用户单击已选择的JRadioButton时,它不会生成任何,而该事件是通过单击其他未选择的生成的。

  • 问题内容: 这是表结构 我需要一条声明,列出从最近输入的每条消息,我不知道如何执行此操作。谁能指出我正确的方向?提前谢谢。 问题答案: 应该这样做:

  • 问题内容: 为了在用户单击“清除按钮”时初始化a上的所有,我需要遍历(而不是将所有单个字段都设置为“”)。 我如何使用for-each循环来遍历s的搜索? 问题答案: 但是,如果您具有更深层嵌套的JTextField,则可以使用以下递归形式: 编辑: Tom Hawtin的 一个样本 -粗线 建议将在您的框架班级中列出: 并在初始化单个文本字段时,将它们添加到此列表中: 当用户单击清除按钮时,只需

  • 问题内容: 我正在运行此数据库调用以获取多维数组,我试图获取每个数组的键,但是当我尝试将其显示为空白或数组时。 这是我的PHP循环遍历: 另外,当我运行一个仅将数组吐出的测试时,这就是结果,我想要呈现的是 [费城] 问题答案: 您可以这样访问数组键: