Я преобразовываю NSDictionary в строку и сохраняю его в базе данных SQLite и снова извлекаю из базы данных и преобразовывая строку в NSDictionary с использованием следующих двух методов {упомянутых в коде ниже этого параграфа }. Но требуется много времени, чтобы преобразовать оба пути {array в строку & наоборот}, если мы храним несколько словарей в одной таблице базы данных SQLite. Есть ли какое-либо решение для преобразования полного NSArray или полного NSDictionary в строку и наоборот за меньшее время?Swift NSDictionary JSON Array to String Convert Время, затрачиваемое
func jsonDictionary(jsonData:NSDictionary)-> String
{
var error : NSError?
let jsonData = try! NSJSONSerialization.dataWithJSONObject(jsonData, options: NSJSONWritingOptions.PrettyPrinted)
let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String
return jsonString
}
func convertStringToDictionary(text: String) -> NSDictionary {
var json=text
json = json.stringByReplacingOccurrencesOfString("\n", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
// json = json.stringByReplacingOccurrencesOfString(" ", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
print(json)
var jsonDictData=NSDictionary()
if let data = json.dataUsingEncoding(NSUTF8StringEncoding) {
do {
var jsonDict: NSDictionary? = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary
jsonDictData=jsonDict?.mutableCopy()as! NSMutableDictionary
print(jsonDictData)
}
catch
{
}
}
return jsonDictData
}
'.stringByReplacingOccurrencesOfString (" \ n "...' Зачем вы это делаете? Ну, вы используете '.PrettyPrinted' ... Тогда не используйте его! Передайте пустые опции вместо'. PrettyPrinted'. // Также вы можете сохранить данные JSON как blob вместо преобразования в/из String. – Moritz
Спасибо Эрик! Я вынужден использовать «.stringByReplacingOccurencesOfString ....», потому что я получаю «\ n. . "при преобразовании из NSDictionary в String. Также я не знаю, что вы подразумеваете под« данными как blob вместо преобразования в/из строки? » –
Вы считаете, что вынуждены, но вы ошибаетесь. Кодируйте и расшифровывайте правильный путь и вы никогда не должны этого делать. // И я говорю, чтобы сохранить ваши данные JSON ** вместо сохранения его строкового представления. – Moritz