ios - 为什么我的 JSON 对象的 NSDictionary 在某些值周围有引号而不是其他值?

标签 ios objective-c json nsdictionary

<分区>

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSLog(@"Succeeded! Received %d bytes of data",[_configData length]);

    NSString *responseJSONString = [[NSString alloc] initWithData:_configData encoding: NSASCIIStringEncoding];
    NSLog(@"Response: %@", responseJSONString);

    // convert to dictionary 'settingsDictionary'
    NSError* error = [[NSError alloc] init];
NSDictionary *settingsDictionary = [NSJSONSerialization JSONObjectWithData:_configData options:kNilOptions error:&error];
NSLog(@"Dictionary of JSON objects ::: \n%@", settingsDictionary);   // why?!

    NSLog(@"DONE");

在输出终端中得到这个:

 2013-05-22 11:38:59.318 Tests[8817:c07] didReceiveResponse:
 responseData length:(0) 2013-05-22 11:38:59.320 Tests[8817:c07]
 Succeeded! Received 114 bytes of data 2013-05-22 11:38:59.321
 Tests[8817:c07] Response: {"CustomerName":"Example Company","HostName":"streaming1.mycompany.com\/live","AppName":"streamer","Port":"1935"}
 2013-05-22 11:38:59.321 Tests[8817:c07] Dictionary of JSON objects :::
 {
     AppName = streamer;
     CustomerName = "Example Company";
     HostName = "streaming1.mycompany.com/live";
     Port = 1935; 
 } 
 2013-05-22 11:38:59.322 Tests[8817:c07] DONE

我不明白为什么,如果所有的 json 值都用引号括起来,只有 2/4 的字典项包含它们。 NSDictionary 默认应该存储什么?

最佳答案

只有那些不是正确标识符的值在描述中被引用(即有空格、特殊字符,而不仅仅是字母数字字符)。字典的描述不会按原样打印键和值。 (具体来说,它们并未实际被引用)。

这与它们在 JSON 中被引用无关。在 JSON 中,每个字符串总是被引用。

关于ios - 为什么我的 JSON 对象的 NSDictionary 在某些值周围有引号而不是其他值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16696484/

上一篇:ios - 通过代码加载 Storyboard场景

下一篇:iphone - 如何使用 MFMailComposerViewController 将 UIImage 添加到电子邮件中?

相关文章:

ios - 目标 Sharpie 因 SDK 头文件中的错误而失败

ios - 重定向到第一个 ViewController

javascript - 我的 JavaScript for 循环有问题

java - 使用任何现有的 java 库/工具将输入示例从 JSON 转换为 JSON

javascript - 如何知道ajax请求的结果是不是json?

javascript - 如何提示 iPhone/iPad 访问者安装 native 应用程序?

ios - 订阅 channel 不起作用 - 使用 Swift 解析

iphone - 尝试将 TextField 保存在 TableView 中

ios - Arc4随机 float ?

android - CSS android 和 iOS 问题