我们可以使用PostgreSQL 9.3中的
最终问题归结为:为什么我应该在
以下两个查询都会产生相同的结果:
->
和->>
运算符访问任何JSON元素。对我来说,#>
和#>>
只提供了JSON路径的缩写形式。或者说,#>
操作符背后有更大的含义吗?它是否具有特殊用途/比箭头符号提供任何优势?哪种方法是编写路径的首选方法?最终问题归结为:为什么我应该在
->
和->>
之上使用#>
和#>>
运算符?
文档对此有些晦涩。以下两个查询都会产生相同的结果:
=> 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