从NSData转换的NSString中删除unicode和反斜杠转义 [英] Removing unicode and backslash escapes from NSString converted from NSData

查看:887
本文介绍了从NSData转换的NSString中删除unicode和反斜杠转义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在通过以下方式将响应数据从Web请求转换为NSString:

I am converting the response data from a web request to an NSString in the following manner:

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];

但结果字符串如下所示:

However the resulting string looks like this:

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

我想要的是

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

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

without the backslash escapes and unicode. What is the cleanest way to do this?

推荐答案

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

The response seems to be JSON-encoded. So simply decode the response string using a JSON library (SBJson, JsonKit etc.) to get the correct form.

这篇关于从NSData转换的NSString中删除unicode和反斜杠转义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆