• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

dart 2.12 이상 버전에서 json object null safety 처리는 어떻게 하나요?

21.11.08 10:37 작성 조회수 439

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
json 형식으로 api 를 받아오는 경우가 많은데요.
이럴때 null safe 처리는 어떻게 해야 효율적일까요?
chain 걸때마다 null safe 관련된 표기를 하면 에러 표기는 되지는 않는데 너무 지저분 해보여서요..
json object에 대한 null safe 처리를 어떻게 하면 좋을지 참고할만한 코드나 가이드를 알려주시면 감사하겠습니다.
String getString(AirResult result) {
if (result.data!.current!.pollution!.aqius! <= 50) {
return '좋음';
} else if (result.data!.current!.pollution!.aqius! <= 100) {
return '보통';
} else if (result.data!.current!.pollution!.aqius! <= 150) {
return '나쁨';
} else {
return '최악';
}
}

답변 1

답변을 작성해보세요.

0

이 부분의 경우 처리를 편하게 하기 위해 AirResult 모델 클래스 생성시 Null을 허용하지 않는 방법으로 만드는 것을 고려해 보세요.

https://www.jsontodart.in/

이 경우 데이터에 null 이 포함된다면 앱이 죽어 버리기 때문에 위험할 수도 있지만 데이터가 절대로 null이 들어오지 않으면 가장 쉬운 방법인 듯 합니다.

또는 json_serializable 같은 코드 제네레이터 라이브러리를 사용하는 것입니다.

https://pub.dev/packages/json_serializable

매번 빌드를 수동으로 해야하는 불편함이 있지만 사용할 때는 위와 같이 null이 들어올 경우 기본 값을 줄 수도 있는 옵션이 있어서 가장 안전한 방법이 됩니다.

입문 강의는 얼마전에 Null Safety 관련 A/S 영상을 업데이트 하였습니다.

중급, 응용 강의도조만간 Null Safety 업데이트 강의를 준비중에 있으니 기다려 주세요.

감사합니다.