我有一个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文件。有没有更好的方法来解决这个问题?
答案 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)
}