我们可以使用->
and->>
运算符访问 PostgreSQL 9.3 中的任何 JSON 元素。在我看来,#>
with#>>
只提供了一种较短的 JSON 路径编写形式。还是运营商背后有更大的图景#>
?它是否有特殊用途/比箭头符号有任何优势?哪一种是编写路径的首选方法?
这一切都涉及到一个问题:为什么我应该使用#>
and#>>
运算符而不是->
and ->>
?
文档对此有点神秘。
下面的两个查询都给出相同的结果:
=> select '{"a":[1,2,3],"b":[4,5,6]}'::json#>'{a,2}';
?column?
----------
3
=> select '{"a":[1,2,3],"b":[4,5,6]}'::json->'a'->>2;
?column?
----------
3