NSString *date = [userDefaults objectForKey:KEY_FORM7_DECLARATION_DATE];
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:date, @"DATE",nil]
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:0 error:&error];
NSString *result = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
当我做NSLog(@"%@", date)
时,显示的是2016/10/30
但是当我尝试打印NSLog(@"%@", result)
时,日期更改为2016/10/30
。
似乎这是NSJSONSerialization
的预期行为:类似的问题
对于您的简单情况,我只能提出简单的解决方案:用替换符号序列化JSON,然后使用序列化字符串作为格式:
let dateString = "2016/10/30"
var dict = ["DATE": "%@"]
do {
let data = try NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions(rawValue: 0))
let format = String(data: data, encoding: NSUTF8StringEncoding)!
let result = String(format: format, dateString)
} catch {
print(error)
}