Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

XPath 与 JSON

  在 XML 时代,我们会用 XPath 去查询文档中的元素。如今 XML 的很大一部分应用场景已经被 JSON 取代。 有没有什么类似 XPath 那样强大又可以支持从 JSON 中查询数据的方案呢?我找遍全网,虽然找到一大坨东西,但没有一个是有规范定义的。
  由于没有规范,到处都是坑。比如最流行的 JSONPath 就是个大坑。最基本的定义可以在这里找到。但这个定义并不严谨,后来又有了一份比较严谨的定义。但就这个定义而言,我觉得其中的 filter 和 expression 两个部分还是太恶心了,瞬间让我产生了造轮子的冲动。
  除了 JSONPath 外还有个 JSONSelect 看起来也不错。它使用类似 CSS 选择器的语法去查询 JSON。这样对于前端开发者而言学习成本更低。但使用 CSS 选择器也会有坑。我们要解决的是 XPath 的问题,而 CSS 选择器和 XPath 比起来要弱得多。一些场景是 XPath 可以胜任而 CSS 选择器无法做到的。所以我觉得以 CSS 选择器的方案来解决这个问题也有点欠妥。当然,如果觉得这就已经够用了的话确实可以尝试使用。
  既然各种奇怪的语法只会越看越烦,那直接用 XPath 查 JSON 如何呢?JPath 就是这么一个东西。虽然它那 URL 似得查询方式与现代对象调用的风格完全是两个画风,但至少 XPath 是个古老的规范。也许使用起来会比较累,但这个方案确实没什么地方可以黑的了。
  目前看到的所有方案,我都觉得不太满意。如果后续急着用的话可能会选个比较顺眼的,或者如果不急用就自己造轮子去。
网名:
3.80.55.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^