てくてくテック

気ままに開発のメモを書いていこうと思います。主にSwiftかと。

Swift3 jsonをローカルから読み込む

はじめに

apiと実際につなぐ前にダミーデータで実装するときなどに
jsonファイルをローカルに保存しておいてそこから読み込む ということをしたくなった時のお話です

利用するライブラリ

SwiftyJsonを使ってます。 2016年10月26日の時点では本家でもSwift3対応されているようですが 私がSwift3対応をした9月末時点では対応していなかったため こちらを利用しました。

コード

func loadJson(_ fileName : String) -> JSON? {
  let path = Bundle.main.path(forResource: fileName, ofType: "json")
  do{
    //https://www.hackingwithswift.com/example-code/strings/how-to-load-a-string-from-a-file-in-your-bundle
    let jsonStr = try String(contentsOfFile: path!)
    let json =  JSON.parse(jsonStr)
    return json
  } catch{
    return nil
  }
}

やっていることは、ファイルを文字列として読み込んで
その文字列をjsonにパースしているだけです。