如何使用 XPath 访问 JSON 对象?

问题描述 投票:0回答:1

在一个页面中,有一个内联元素,包含多个对象。

我可以使用像 //script[contains(text(),'results')] 这样的 XPath 来访问

full
脚本。

它包含多个对象,其中包括这个

{
"results": [
      {"entry":[...]},
      {"entry":[...]}
   ]
}

如何使用 XPath 访问 only

results

xpath
1个回答
0
投票

我猜你可能在浏览器中运行客户端?

浏览器本身只支持 XPath 1.0,它是在 JSON 发明之前很久就定义的,所以你运气不好。

有几个第三方库实现了更新版本的 XPath:其中一个是我公司的产品 SaxonJS,它实现了 XPath 3.1。使用 XPath 3.1,给定问题中显示的 JSON 字符串,您可以执行以下操作:

let $json := ....,
    $entries := parse-json($json)?results
return 
  for $i in 1 to array:size($entries)
  return $entries($i)

但细节取决于您想对 JSON 内容做什么...

© www.soinside.com 2019 - 2024. All rights reserved.