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

Swift: Split every item in JSON-Array into single file

我有一个 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 文件。有没有更好的方法来处理这个问题?

你循环并在 json NSDictionary 中获取 every item,然后转换此项 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)
}