基本上,我需要使用JSONPath来获取字符串值的一部分。我无法先使用JSONPath来获取全部值(value),然后再使用另一种语言来获取其一部分。
有什么办法可以在JSONPath中做到这一点?
最佳答案
如果您可以举例说明一些JSON数据,那就太好了。我怀疑,根据您所写的内容,您正在寻找类似的东西(这是JSFilddle:http://jsfiddle.net/hbi99/4WYkc/);
var data = {
"store": {
"book": [
{
"@price": 12.99,
"title": "Sword of Honour",
"category": "fiction",
"author": "Evelyn Waugh"
},
{
"@price": 22.99,
"title": "The Lord of the Rings",
"category": "fiction",
"author": "J. R. R. Tolkien",
"isbn": "0-395-19395-8"
}
],
"bicycle": {
"@price": 19.95,
"brand": "Cannondale",
"color": "red"
}
}
},
found = JSON.search(data, '//*[contains(title, "Lord")]');
document.getElementById('output').innerHTML = found[0].title;
JSONPath不是标准的“查询语言”,但XPath是。 JS库DefiantJS使用“搜索”方法扩展了全局对象JSON,您可以使用该方法查询带有XPath表达式的JSON结构。该方法将匹配项作为类似数组的对象返回。
要查看更多示例,请在此处查看实时XPath评估程序:
http://defiantjs.com/#xpath_evaluator
关于json - 有没有办法在JSONPath中获取字符串值的子字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22205308/