objective-c - 从 NSData 转换的 NSString 中删除 unicode 和反斜杠转义

标签 objective-c ios nsstring nsdata

我按以下方式将响应数据从 Web 请求转换为 NSString:

NSData *data = self.responseData;
if (!data) {
    return nil;
}
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)[self.response textEncodingName]));
NSString *responseString = [[NSString alloc] initWithData:data encoding:encoding];

但是结果字符串看起来像这样:

"birthday":"04\/01\/1990",
"email":"some.address\u0040some.domain.com"

我想要的是

"birthday":"04/01/1990",
"email":"some.address@some.domain.com"

没有反斜杠转义和 unicode。最干净的方法是什么?

最佳答案

响应似乎是 JSON 编码的。因此,只需使用 JSON 库(SBJson、JsonKit 等)解码响应字符串即可获得正确的形式。

关于objective-c - 从 NSData 转换的 NSString 中删除 unicode 和反斜杠转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018347/

相关文章:

cocoa - 将 NSString 转换为 float

ios - 如何将子字符串附加到主字符串?

iphone - 标签栏 Controller 下的导航 Controller 中的数组索引搞砸了

ios - nil中的managedObjectModel(仅在WatchApp中)

objective-c - fetchedResultsController 没有正确更新第一行

ios - 如何使用 Swift 4 从数据中使用 Alamofire 多部分发送参数数组

iOS UITableView 默认滑动删除按钮在滑动单元格时不显示

objective-c - 在 Objective-C 中使用 instancetype 作为副本的返回类型?

ios - 在派生数据中找不到 .app 文件

ios - Objective-C - NSArray 到具有多个定界符的 NSString