NSJSONSerialization 将日期分隔符从 yyyy/MM/dd 更改为 yyyy\/MM\/dd [重复]

Posted

技术标签:

【中文标题】NSJSONSerialization 将日期分隔符从 yyyy/MM/dd 更改为 yyyy\\/MM\\/dd [重复]【英文标题】:NSJSONSerialization is changing the date separator from yyyy/MM/dd to yyyy\/MM\/dd [duplicate]NSJSONSerialization 将日期分隔符从 yyyy/MM/dd 更改为 yyyy\/MM\/dd [重复] 【发布时间】:2016-09-30 07:03:14 【问题描述】:
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。任何帮助将不胜感激。

【问题讨论】:

@Paulw11 我什至尝试将 json 写入文本文件,但显示相同。 你能告诉我 [userDefaults objectForKey:KEY_FORM7_DECLARATION_DATE] 的值是多少 它是日期的字符串格式,即“2016/10/10”@himanth 试试这样 NSString *date = [userDefaults objectForKey:KEY_FORM7_DECLARATION_DATE]; NSString *main = [NSString stringWithFormat:@"\"DATE\":\"%@\"",date]; NSData *mainData = [main dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@",[[NSString alloc]initWithData:mainData 编码:NSUTF8StringEncoding]); 你试过了吗? 【参考方案1】:

似乎这是NSJSONSerialization 的预期行为:similar question

对于您的简单情况,我只能提出简单的解决方法:使用替换符号序列化 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)

【讨论】:

以上是关于NSJSONSerialization 将日期分隔符从 yyyy/MM/dd 更改为 yyyy\/MM\/dd [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在sql server中使用分隔符将没有分隔符的日期和时间转换为日期时间

为啥 NSJSONSerialization 将 NSDictionary 错误地解析为 JSON?

使用 NSJSONSerialization 将 NSMutableDictionary 转换为 JSON 会返回不同的结果

使用 NSJSONSerialization 将 NSDictionary 转换为 NSData

将 div 添加到 html 中显示的日期并分隔日期和月份

iOS - NSJSONSerialization:无法将数据转换为围绕字符的字符串