简而言之,我需要一个包含 null 而不是 (null) 的字符串。
例如:
NSString *jsonRequest = [NSString stringWithFormat:@"{\"ename\":%@}", nil];
形成一个看起来像这样的请求:
{ "ename" : (null) }
但我需要它看起来像
{ "ename" : null }
用 Nil、NULL、[NSNull null] 替换 nil 都等同于相同的输出字符串。
有没有办法做到这一点?当我将请求发送到服务器并尝试解析它时,问题就来了,但不喜欢 null 周围的括号。
最佳答案
您需要对 stringWithFormat
的参数进行特殊处理:
NSString *ename = nil;
NSString *jsonRequest = [NSString stringWithFormat:@"{\"ename\":%@}",
ename != nil ? ename : @"null"];
或者创建一个宏:
#define STR_OR_NULL(x) (x) != nil ? (x) : @"null"
NSString *jsonRequest = [NSString stringWithFormat:@"{\"ename\":%@}", STR_OR_NULL(ename)];
关于ios - 使用空值填充 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15094710/