2017-02-18 2 views
1

내 웹 응용 프로그램에 Firebase 데이터베이스에 JSON 객체를 유지하는 간단한 양식이 있습니다. 이 양식의 모든 필드가 필요하지는 않으므로 전송할 개체가 생성 될 때 여러 개의 undefined 속성이있을 수 있습니다.Firebase로 정의되지 않은 값 처리

undefined 값을 유지하려고 시도 할 때 해당 Firebase에서 오류가 발생 함 (물론 JSON 객체에 undefined 값이 없어야 함), 프레임 워크에서 모든 메소드를 재정의하는 방법이 있는지 궁금합니다. 정의되지 않은 값은 null 또는 빈 문자열입니다. 나는 아직 온라인에서 해결책을 찾지 못했다.

최악의 시나리오는 내가 수동으로 null에 대한 모든 정의되지 않은 속성을 설정할 수 있지만, 차라리하지 거라고

어떤 아이디어 나 제안이에?

감사합니다.

답변

1

값이 전달 될 것으로 예상되는 JSON의 특성으로 인해 여기에는 특별한 방법이 없다고 생각합니다.이 경우 'null'또는 빈 문자열이 될 수 있습니다.

현재로서는 불행한 일이지만, 클라이언트 측에서 처리하고 데이터가 입력되지 않은 경우 수동으로 'null'또는 빈 문자열을 추가하는 것이 더 좋을 것이라고 생각합니다. 그런 다음 나중에 Firebase의 해당 위치에서 'snapshot.val()! == null'과 같은 데이터를 사용하여 데이터를 테스트 할 수 있습니다.

3

내 솔루션은 단순히 stringify()replacer와 결합 된 개체가 내가 JSON parse()

을 가진 오브젝트로 변환 모든 정의되지 않은 값을 다음
obj = JSON.parse(JSON.stringify(obj, function(k, v) { 
    if (v === undefined) { return null; } return v; 
})); 

를 교체하는 것이 었습니다