2016-12-02 88 views
0

我在使用JsonPath檢查具有字段前名稱空間的json時遇到問題。我一直無法從谷歌中找到任何東西,或者查看現有問題或文檔。我一直無法獲得任何工作。我有JSON的下面的代碼片段:如何使用JsonPath處理具有名稱空間的JSON

{ 
    "_embedded" : { 
    "bb:list" : [ { 
     "id" : "id", 
     "label" : "label", 
     "description" : "description", 
     "timezone" : "timezone", 
     "postalAddress" : { 
     "addressCountry" : "country", 
     "addressLocality" : "city", 
     "addressRegion" : "state", 
     "postalCode" : "postal code", 
     "streetAddress" : "street address" 
     } 
    } ] 
    } 
} 

而且我想檢查BB:列表欄,看看有多少項目都在上面。這JsonPath表達似乎不工作:

「$ ._ embedded.bb:list」

如果我刪除 「BB」,然後使用該作品 「$ ._ embedded.list」,所以它的BB:它似乎並不喜歡。

回答

0

所以事實證明,我遇到的問題不在於JsonPath表達式或JsonPath。 Spring Boot引入了JsonPath,所以它被編譯並且看起來很好,但是在運行時,它無論如何都不能工作。我明確地將JsonPath添加到我的依賴列表中,並且它開始工作。

編輯:所以上述修復不是永久的。事實證明,JsonPath - Json-smart的臨時依賴使用了比Spring-test(通過它的幾個臨時依賴)拉入的版本更新的版本。 我通過從spring-starter-test依賴關係中爲json-smart添加一個排除來修復它:

testCompile('org.springframework.boot:spring-boot-starter-test'){ 
    exclude group: 'json-smart' 
} 
相關問題