2016-08-02 5 views
0
확장 메서드가 모험가 Json 객체에서 null 값을 가진 모든 키를 제거하기 위해 쓸 수있는 방법

:모험가 JSON에서 null 값과 키를 제거하는 방법 객체

나는이 시도 :

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)) 
    } 
    } 
} 

을 하지만 Json 개체의 최상위 수준에서 null 값을 가진 키만 제거하는 것 같습니다 ...

+0

그 라이브러리에 대한 나의 이해는 렌즈에 드릴링하려는 중첩 레벨의 수를 명시 적으로 정의해야한다는 것입니다. –

+0

이렇게하려면 노드를 반복해야합니다. – pedrofurla

답변

0

Argonaut는 이것을 내부적으로 지원하며을 사용할 수 있습니다 이 질문을 다루고

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

희망 :당신이있어 무엇을 한 후에해야 할 일!

관련 문제