有什么理由启动一个没有“$”美元符号的 JsonPath 吗?

Gui*_* F. 5 java jsonpath jayway

在 JsonPath 中,我看到“$”符号被描述为“引用根对象或元素”的符号。

例子:

JsonPath.read(json, "$.store.book[*].author");
Run Code Online (Sandbox Code Playgroud)

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

在 Jayway 中,您可以省略“$”。在路径的起点处并得到相同的结果。

但是,有理由这样做吗?

hal*_*ier 3

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

前导 $ 表示根对象或数组,可以省略。例如,$.foo.bar 和 foo.bar 相同,$[0].status 和 [0].status 也相同。

完整的文档可以在这里查看。

所以看起来 $ 符号只是为了样式,这就引出了 JSONPath 创建者为什么要实现它的问题。