1

简而言之,我需要一个包含 null 的字符串,而不是 (null)。

例如:

NSString *jsonRequest = [NSString stringWithFormat:@"{\"ename\":%@}", nil];

形成一个如下所示的请求:

{ "ename" : (null) }

但我需要它看起来像

{ "ename" : null }

用 Nil、NULL、[NSNull null] 替换 nil 都等同于相同的输出字符串。

有没有办法做到这一点?当我将请求发送到服务器并尝试解析它,但不喜欢 null 周围的括号时,问题就出现了。

4

1 回答 1

2

您需要对以下参数进行特殊处理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)];
于 2013-02-26T16:51:41.797 回答