0

可能重复:
如何将 NSString 初始化为带双引号的文本

如何将 tan 实际双引号添加到 NSString 内部的变量以在 NSDictionary 中使用?例子

NSString *ename=@"John Doe";
NSDictionary *profile=@{@"Profile":@{"Name":ename}};

我需要像这样显示 "Profile":{"Name":"John Doe"}

4

3 回答 3

6

我需要像这样显示 "Profile":{"Name":"John Doe"}

您要创建 JSON 格式吗?然后你可以使用内置类NSJSONSerialization

NSString *ename = @"John Doe";
NSDictionary *profile = @{@"Profile":@{@"Name":ename}};

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:profile options:0 error:NULL];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

NSLog(@"%@", jsonString);

输出:

{"Profile":{"Name":"John Doe"}}
于 2013-01-21T12:23:27.920 回答
5

使用转义字符\ ...

NSString *ename=@"This is double \" quote \"";

如果您要求在字典的中添加引号,则必须添加一些特殊字符(非字母和非数字),然后键才显示双引号。

[... description] simply wraps things in quotes for display that have non-alphanumeric characters in them.

并且调试器中的“abc”和abc没有区别。这仅用于调试,实际值始终是 NSString @"abc"。

于 2013-01-21T11:08:41.517 回答
1

检查这个

NSString *string=@"This is test \" for \"";

希望对你有帮助。。

于 2013-01-21T11:12:44.487 回答