2015-07-20 51 views
0

如果我有一個JSON像這樣:過濾JSONPath與給定的字符串值

{ 
    "data": [ 
    { 
     "service" : { "id" : 1 } 
    }, 
    { 
     "service" : { "id" : 2 } 
    }, 
    { 
     "service" : {} 
    } 
    ] 
} 

此查詢的工作:

$..service[?(@.id==2)] 

並給出了預期的結果:

[ 
    { 
     "id" : 2 
    } 
] 

但是,如果我有作爲編號的字符串:

{ 
    "data": [ 
    { 
     "service" : { "id" : "a" } 
    }, 
    { 
     "service" : { "id" : "b" } 
    }, 
    { 
     "service" : {} 
    } 
    ] 
} 

運行類似的查詢:

$..service[?(@.id == "a")] 

沒有給出結果(空數組)。
我正在使用this evaluator
我在看文檔here,但找不到任何東西指向正確的方向......如果有人知道如何編寫這樣的查詢,有什麼幫助?謝謝:)

回答

1

無「作品

$..service[?(@.id == b)] 

給這個結果

[ 
    { 
     "id" : "b" 
    } 
] 
+0

哇哦,我怎麼會看不到未來......感謝的人:) –