2017-01-19 9 views
0

jsonレスポンスから 'search'のすべてのインスタンスのリストを取得しようとしていますが、 'null'を含む値が0に変更されるように設定しようとしています。 no such property: it for class.エラーを修正して、コードが正常に動作するようにして、 'null'のインスタンスが0に変更されるようにするにはどうすればよいですか?そのようなプロパティはありません:クラス用です

import groovy.json.JsonSlurper 
    def response = messageExchange.response.responseContent 
    def json = new JsonSlurper().parseText(response) 


    def resultItems = json.xxx.xxx.items 
    def resultSearchCostGroup = json.xxx.xxx.xxx.search 
    int totalSearchCostGroup = resultSearchCostGroup.flatten().collect(it ?:0).sum() 

答えて

0

あなたの最後の行は男ああ、本当に、すごい石鹸は、書き込みスペースに厳しいです

int totalSearchCostGroup = resultSearchCostGroup.flatten().collect { it ?:0 }.sum() 
+0

をお読みください。テストをするためのもう一つの質問。リスト内に値[200、null、150、34、null、20、0、5]が含まれるようにリストをコーディングする方法を教えてもらえますか?それを変数resultSearchCostGroupとして設定しますか?私は合計が正しく機能するように、練習の答えにコード行を入れたいと思います。 resultSearchCostGroupはリスト内ですべてnullなので、合計が0であることが正しければ、値の混合でテストして、和が働くようにしたいと思っています。 – BruceyBandit

+0

これは空白ではなく、中括弧と中括弧。あなたのコードは単純な無効なGroovyでした。リストについては、正しい構文をすでに持っています: 'def resultSearchCostGroup = [200、null、150、34、null、20、0、5]' – Vampire

+1

Btw。 http://stackoverflow.com/help/someone-answersを読んで従ってください;-) – Vampire