当前位置: 首页 > 面试题库 >

NSData与JSON响应的NSString

端木高卓
2023-03-14
问题内容

NSData * jsonData 是包含JSON数据的http响应。

NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"jsonString: %@", jsonString);

我得到了结果:

{ "result": "\u8aaa" }

将数据编码为正确的字符串而不是“ \ uxxxx”之类的Unicode字符串的正确方法是什么?


问题答案:

如果您转换JSON数据

{ "result" : "\u8aaa" }

NSDictionary(例如使用NSJSONSerialization)并打印字典

NSError *error;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSLog(@"%@", jsonDict);

那么你会得到输出

{
    result = "\U8aaa";
}

原因是该description方法NSDictionary对所有非A​​SCII字符使用“ \ Unnnn”转义序列。但这仅是为了在控制台中
显示 ,字典是 正确的

如果您打印密钥的值

NSLog(@"%@", [jsonDict objectForKey:@"result"]);

那么您将获得预期的输出



 类似资料:
  • 问题内容: 哪种方法更快,要返回JSON中的ajax,然后处理JSON响应以呈现html,或者只是将Ajax响应中的原始html放在一堆中呢? 问题答案: 要看。在这两种情况下,服务器都只是返回带有文本的响应。如果响应的JSON版本比HTML版本需要更多字符,则该响应将需要更长的时间才能传输回客户端,反之亦然。 但是,当然还有服务器端脚本必须完成其工作。在您的情况下,从服务器端脚本生成JSON可能

  • 问题内容: 我在Swift 中将元素转换为,然后将变量转换回时遇到了问题。 首先,我想提取以下JSON数据的元素: 放入NSData 变量,但似乎无法做到这一点。我用来解析如下: 但这给了我一个ScalarNumber数组,我不知道如何存储到一个对象中。 其次,我想从同一个对象生成回来: 但是NSData 对象不会转换为[-67,51,-38,61,-72,102,48],它只是使JSON字符串无

  • 问题内容: 即时通讯在JSON中获取响应,但这不会解析JSON响应。我在做什么错?我在doc http://docs.jquery.com/Plugins/Autocomplete上找不到任何内容 问题答案: 检查dataType和parse选项。

  • 我用java制作了一个REST API,我有以下DTO。 在我的API类中,我从sql获取上述DTO的数据,并使用以下代码返回响应: 所以我的疑虑是: 为什么对象列表在响应中排在第三位,尽管我在DTO中声明了它的最后一位? 为什么isTypeTrue和isTypeSpecial在输出中显示为TypeTrue和TypeSpecial? 尽管我首先声明了isTypeSpecial,但为什么isType

  • 使用Guzzle,我正在使用JSON格式的一些外部API,通常我获取数据 $data = $request- 但是我无法从这个不同的api中获取数据。数据似乎没有出现在“响应体”中。 这个api调用有效:https://i.ibb.co/80Yk6dx/Screenshot-2.png 这不起作用:https://i.ibb.co/C239ghy/Screenshot-3.png

  • 问题内容: 我使用一些GeoIP服务在页面上放置国家/地区标记,具体取决于国家/地区IP。我需要为网站上的所有页面缓存JSON响应。 将此代码放入: 是否可以将其缓存?-似乎不起作用。 或者使用HTML5 localStorage可能更好,但是我不确定该怎么做。 我也尝试了JSONCache插件,但是对我来说不起作用。 问题答案: 您可以这样使用localStorage: 演示 因此,在您的特定情