有没有理由在没有“$”美元符号的情况下启动 JsonPath?

Any reason to start a JsonPath without the "$" dollar sign?

在 JsonPath 中,我看到“$”符号被描述为 "refers to the root object or element" 的符号。

示例:

JsonPath.read(json, "$.store.book[*].author");

问题: 有什么理由不以“$”开头的路径吗?

在 Jayway 中,您可以省略“$”。在路径的开头并获得相同的结果。

但是,这样做有什么理由吗?

在 Smartbear.com 的 JSON 文档中,他们指出:

The leading $ represents the root object or array and can be omitted. For example, $.foo.bar and foo.bar are the same, and so are $[0].status and [0].status.

可查看完整文档here

所以看起来 $ 符号只是用于风格,这导致了为什么 JSON路径创建者实现它的问题。