Create .json file and writing [String:String] data to it.
import FirebaseDatabase
let pathString = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let path = NSURL(string: pathString)!
let jsonPath = path.appendingPathComponent("test.json")
let fileManager = FileManager.default
var isDirectory: ObjCBool = false
if !fileManager.fileExists(atPath: jsonPath!.absoluteString, isDirectory: &isDirectory) {
let created = fileManager.createFile(atPath: jsonPath!.absoluteString, contents: nil, attributes: nil)
if created {
print("File created.")
} else {
print("Unable to create file.")
}
} else {
print("File already exists.")
}
Database.database().reference().child("users").child("uid").observeSingleEvent(of: .value, with: { data in
if let userData = data.value as? [String:String] {
var jsonData: NSData!
do {
jsonData = try JSONSerialization.data(withJSONObject: userData, options: JSONSerialization.WritingOptions()) as NSData
//let jsonString = String(data: jsonData as Data, encoding: String.Encoding.utf8)
} catch let error as NSError {
print("Error converting Dict to JSON: \(error.localizedDescription)")
}
do {
let file = try FileHandle(forWritingTo: jsonPath!)
file.write(jsonData as Data)
print("JSON data successfully written to file.")
} catch let error as NSError {
print("Error writing to file: \(error.localizedDescription)")
}
}
})