swift 3 jsonをデスクトップに保存し、砂箱からjsonを読み込む

3338 ワード

//地元の砂箱経路を取得する
            let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
            let jsonPath = (docDir as NSString).appendingPathComponent("main.json")
            //            data  
            data?.write(toFile: jsonPath, atomically: true)

注意:jsonファイルではフォーマットが正しくなければなりません.そうしないと、JSONファイルに移行するとエラーが発生し、JSONでは「{}」で「[]」を表します.
砂箱からjsonファイルを読み込む
// 0.      json   
        let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
        let jsonPath = (docDir as NSString).appendingPathComponent("main.json")

        //   data
        var data = NSData(contentsOfFile: jsonPath)

        //    data       ,                ,        json
        if data == nil {
            //  bundle   data
            let path = Bundle.main.path(forResource: "main.json", ofType: nil)

            data = NSData(contentsOfFile: path!)
        }
        // data         ,           json         

        //         
        guard  let array = try? JSONSerialization.jsonObject(with: data! as Data, options: []) as? [[String : Any]]
        else{
            return
        }