반응형
[iOS/Swift] Assets에서 JSON 파일 읽어오기
안녕하세요. 개발하는 정주입니다.
오늘은 Assets에서 JSON 파일을 읽어오는 방법에 대해 포스팅하려고 합니다.
JSON을 파일로 지정해서 Asset에 넣고 사용할 때 유용한 방법입니다.
NSDataAsset
프로젝트에 JSON 파일을 Asset에 등록하여 사용하기 위해서는 Data Set으로 생성, 삽입해야 합니다.
Data Set은 Finder에서 확장자를 확인해보면 dataset 확장자로 나옵니다.
이렇게 Data Set을 코드에서 가져와 사용하고 싶을 때는 NSDataAsset을 쓰면 됩니다.
Assets에서 JSON 파일 읽기
위의 내용을 토대로 JSON 파일을 읽어보겠습니다.
guard let asset = NSDataAsset.init(name: fileName) else {
return
}
이렇게 에셋을 가져올 때는 파일이 없을 수도 있기 때문에 옵셔널 바인딩을 해주는 것이 안전합니다.
let jsonDecoder = JSONDecoder()
do {
self.countries = try jsonDecoder.decode([Country].self, from: asset.data)
} catch {
print(error.localizedDescription)
}
그 후 decode의 from 인자에 Data형인 asset의 data를 넣어주면 됩니다.
참조
https://developer.apple.com/documentation/uikit/nsdataasset
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형