0

次のjsonデータがあるとします。

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

クエリ式:$.[? ((@size + @offset)<15)].item

クエリは何も返しません。何か間違っていますか?(@size + @offset)サポートされていないようです。もしそうなら、正しい構文は何ですか?

4

2 に答える 2

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
于 2014-01-04T13:04:08.217 に答える
0

代わりにこれを試す必要があるかもしれないと思います:

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

各 @ 記号の後のドットに注意してください。

于 2013-06-26T16:53:45.687 に答える