我有以下JSON結構:如何獲得正確的JSONPath?
[{"Name":"Ab1","Price":"153"},{"Name":"Cd2","Price":"179"},...]
我想禾寫的XPath命令,獲取Price
的元素,其Name
是Ab1
我試過如下:"//Name[Ab1]/Price"
但是,這是行不通的爲了我。
我有以下JSON結構:如何獲得正確的JSONPath?
[{"Name":"Ab1","Price":"153"},{"Name":"Cd2","Price":"179"},...]
我想禾寫的XPath命令,獲取Price
的元素,其Name
是Ab1
我試過如下:"//Name[Ab1]/Price"
但是,這是行不通的爲了我。
JSONPath語法與XPath非常不同。它只是基於XPath的概念。
這應該是你的情況下正確的JSONPath。請試一試:
$[?(@.Name == 'Ab1')].Price
隨着DefiantJS(http://defianjs.com),您可以使用XPath表達式查詢JSON結構。 DefiantJS使用「搜索」方法擴展全局對象JSON,並將匹配返回爲類似數組的對象。
這是一個示例代碼;
var data = [
{
"Name": "Ab1",
"Price": "153"
},
{
"Name": "Cd2",
"Price": "179"
}
],
found = JSON.search(data, "//*[./Name='Ab1']/Price");
document.getElementById('output').innerHTML = found[0];
要看到這個代碼的行動,看看這個小提琴; http://jsfiddle.net/hbi99/a9uZ3/
有關更多有用的XPath表達式,請參閱此處的類似XPath評估程序; http://defiantjs.com/#xpath_evaluator
對於我的無知感到抱歉,但不是xpath for xml only? – Leo
你用什麼工具來查詢xpath類似於json結構的表達式?例如,有JSONPath,https://code.google.com/p/jsonpath/。那是你正在使用的? –
是的,我使用JSONPath – gurehbgui