2016-08-02 46 views
0

如何擴展方法被寫入到從淘金Json對象中刪除與null值的所有的鍵:如何自Argonaut的Json除去具有空值的密鑰對象

我嘗試這樣做:

package object Extensions { 
    implicit class JsonExtensions(val json: Json) extends AnyVal { 
    def removeNulls: Json = { 
     json.withObject(j => JsonObject.from (j.toMap.filter(!_._2.isNull).toList)) 
    } 
    } 
} 

但它似乎只是刪除null值的Json對象的頂級值...

+0

我對該庫的理解是,您必須明確定義您希望鏡片鑽入的嵌套層數。 –

+0

您需要遞歸到節點中來執行此操作。 – pedrofurla

回答

0

Argonaut內部支持這個,你可以使用PrettyParams做你以後的事情:

def removeNulls: Json = { 
    json.pretty(PrettyParams.nospace.copy(dropNullKeys = true)).toJson 
} 

希望這涵蓋你的問題!

相關問題