我已经对此进行了大量搜索,但仍无法回答.我正在使用Postgresql.在下面的示例中,列名称为“sections”,列类型为json [].
@H_403_14@我的专栏在数据库中看起来像这样:
sections [{"name" : "section1","attributes": [{"attrkey1": "value1","attrkey2": "value2"},{"attrkey3": "value3","attrkey4": "value4"}] },{"name" : "section2","attributes": [{"attrkey3": "value5","attrkey6": "value6"},{"attrkey1": "value7","attrkey8": "value8"}] }]
这是json数组,我希望在我的结果中获得“attrkey3”.为了从Json获取特定键,我可以使用json_extract_path_text(json_column,’json_property’),它工作得很好.但我不知道如何从json []获得一些属性.
如果我谈到上面的例子,我想获得属性“attrkey2”的值,以便在我的结果中显示.我知道它是一个数组,所以它可能与平常不同,例如我的数组的所有值都将作为一个不同的行,所以我可能不得不编写子查询,但不知道如何做.
另外,我无法静态编写索引并从某个特定索引获取json元素的属性.我的查询将动态生成,所以我永远不会知道json数组中有多少元素.
我看到了一些静态示例,但在我的情况下不知道如何实现它.有人能告诉我如何在查询中执行此操作吗?