在调试期间,转义的双引号出现在字符串中

时间:2016-03-01 08:34:25

标签: ios objective-c xcode debugging escaping

我有一个字典,我需要使用NSMutableArray生成一个JSON字符串。这是我的代码:

NSDictionary *dict = @{
                     @"From":From,
                     @"To":To,
                     @"DepartureDate":DepartureDate,
                     };
[FinalArray addObject:dict];

然后我生成这样的JSON字符串:

NSError *error;
NSData * JSONData = [NSJSONSerialization dataWithJSONObject:FinalArray
                                                    options:kNilOptions
                                                      error:&error];

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

现在输出在NSLog上就像这样:

 [
  {
    "From": "city",
    "To": "city",
    "DepartureDate": "20160301"
  }
]

但是在我调试时,在断点处,字符串会出现带有转义的双引号:

   "[{\"From\":\"city\",\"To\":\"city\",\"DepartureDate\":\"20160301\"}]"

为什么?

1 个答案:

答案 0 :(得分:1)

这是一个字符串化的json对象。我的猜测是允许json在控制台中显示它的字符串化,添加转义引号。在运行时,反斜杠不存在,它们仅用于在控制台中正确显示json。