Swift:将JSON-Array中的每个项目拆分为单个文件

时间:2015-10-08 23:15:55

标签: json swift nsjsonserialization writetofile

我有一个JSON-NSArray(使用NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers)创建...),包含一些项目,并希望将每个项目保存为单个文件在我的本地磁盘上。

我已经编写了以下函数来保存本地json文件:

func writeLocalFileFromString(dataString dataString: String, path: String, filename: String, type: String) {

    do {
        try dataString.writeToFile("\(path)/\(filename).\(type)", atomically: true, encoding: NSUTF8StringEncoding)
    } catch let error {
        print(error)
    }

}

所以我尝试投射每个json-item as! String。这些文件是创建的,它们包含一个好看的字符串,但是,它们并不是有效的json文件。有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

您在every item NSDictionary中循环并获取json,然后转换此项json format。而不是print下面的代码块,您可以根据需要将其保存到文件中。

let json = try! NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers) as! NSDictionary

// loop to get item   
for (key, value) in json {
     // data is a NSData contains your json string
     let data = try! NSJSONSerialization.dataWithJSONObject([key, value], options: [])
     // convert NSData to String, then do what you want
     let string = String(data: data, encoding: NSUTF8StringEncoding)
     print(string)
}