我需要为control_text值添加双引号。但是,即使反斜杠适用于字符串,它也不适用于NSDictionary
值。有办法处理以下情况吗?
NSDictionary *createText = @{ @"text": @[ @{ @"type": @"control_text" , @"text": @"text" }]};
这是我的日志:
{
text = (
{
text = text;
type = "control_text";
}
);
}
答案 0 :(得分:0)
NSDictionary
个键可以包含引号,它们只需要转义:
NSDictionary *d = @{@"\"n\"" : @"v"};
NSLog(@"d: %@", d);
NSLog(@"n1: %@", d[@"\"n\""]);
NSLog(@"n2: %@", d[@"n"]);
输出:
d: {
"\"n\"" = v;
}
n1: v
n2: (null)
但一般来说,在键上添加引号是没有意义的。
不要被NSLog()
混淆,它会使用description
方法添加引号和反斜杠,以便Apple开发人员喜欢这种方式。
夫特:
let d1 = ["n" : "v"] // ["n":"v"]
let d2 = ["\"n\"" : "v"] // [""n"":"v"]
答案 1 :(得分:0)
NSLog显示为:
{
text = (
{
text = text;
type = "control_text";
}
);
}
转换为JSON时,将显示为:
{
"text":[
{
"text":"text",
"type":"control_text"
}
]
}
假设您的目标是生成JSON,则无需添加更多引号。