2013-01-14 25 views
0

鑑於以下json數據:jsonpath:加2元,然後比較

[ 
{ 
    "item":"T1", 
    "size":10, 
    "offset":3 
    }, 
    { 
    "item":"T2", 
    "size":20, 
    "offset":5 
    } 
] 

查詢EXPR:$.[? ((@size + @offset)<15)].item

無返回值。哪裏不對了?它看起來像(@size + @offset)不受支持。如果是這樣,那麼正確的語法是什麼?

回答

0

我想你可能需要自行試試這個:

$ [? ((@ .size + @ .offset)< 15)]。item

請注意每個@符號後面的點。

0

使用DefiantJS,您可以在JSON結構上執行XPath。
http://defiantjs.com/

在這個網站(http://defiantjs.com/#xpath_evaluator),你可以在你的JSON數據粘貼,並嘗試了標準的XPath。我已經測試你的JSON數據,並測試了這個XPath表達式,如預期其工作原理:

//*[size + offset > 15]/item 

DefiantJS延伸與附加方法全局對象JSON; 「搜索」和JavaScript中,它看起來像這樣:

var res = JSON.search(json_data, "//*[size + offset > 15]/item"); 
console.log(res[0]); 
// T2