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

在jsonb中查找json键的值

万俟渝
2023-03-14

我正在使用jpa的criteriabuilder,希望在jsonb列中查找json字段的值。jsonb如下所示:

[{"field1":"value1","field2":"value2"},{"field3":"value3","field4":"value4"}]

我开始创建我的谓词,但我得到了错误。

predicates.add( builder.like(
    builder.function("JSON_EXTRACT", String.class, root1.get("jsonBColumn"),                          
    builder.literal("\"value3\"")), "%" + searchValue + "%"));

我得到的错误是

psqlException:错误:函数json_extract(jsonb,字符变化)不存在提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

有人能帮忙吗?

共有1个答案

容寒
2023-03-14

这将有所帮助:

`predicate.getExpressions().add(cb.like(cb.function('jsonb_extract_path_text',string.class,root.get('jsonbcolumn'),cb.literal(this.searchkey)));

 类似资料:
  • 问题内容: 假设我有一个像这样的JSON数组: 不,我想基于id查找某个对象,一旦有了该对象,就需要它的子代及其所有childs子代 所以可以说如果 4d024610-a39b-49ce-8581-a18500739a75* 我想找到一个具有ID的元素 * 那应该找到Element Sub2 现在,它应该产生所有将产生的所有子元素id id: 假设我会做 因此,我猜它有两个部分,首先找到“父”元素

  • 我有这样一个嵌套的JSON,它存储在中。 我正在使用io.vertx.core.json,并且只能使用这个库。

  • 问题内容: 有一个像这样的json: 如何在不迭代所有json的情况下找到all 的值? PS:可以在json中的任何位置。 如果没有方法可以做到这一点,您能告诉我如何遍历json吗? 问题答案: 我对这个问题的处理方式会有所不同。 由于JSON不允许深度优先搜索,因此将json转换为Python对象,将其提供给XML解码器,然后提取要搜索的Node

  • 在我的程序中,我有类似测试#6的错误:leastcommon({})exp。异常:第16行堆栈跟踪上的IllegalArgumentExceptionyour exceptionNoSuchElementException:NoSuchElementException LestCommon,第16行结果:fail } 如何用我的程序修正?

  • 这里是一些非常常见的常见问题: 似乎没有一个 Keys(...) 或者 Scan(...) 方法? 如何查询数据库中存在哪些键? 或者 似乎没有一个 Flush(...) 方法?如何删除数据库中的所有的键? 很奇怪的是,这里的最后一个关键词是数据库。 因为StackExchange.Redis的目标是针对集群等场景,知道哪些命令针对 数据库 (可以是分布在多个节点上的逻辑数据库)以及哪些命令针对

  • 我的任务是使用HashMaps和set制作同义词词典。我的主要方法中有以下代码: 插入同义词和键的一种方法: 显示ArrayList的一种方法: 我想找到一个单词的所有同义词,例如单词“camin”。我写了下面的方法来做这件事,但是它不起作用,它返回一组空的键: 问题是在这里面,如果: 是数组列表和字符串之间的比较。我不知道如何纠正它。