1

つまり、(null) ではなく、null を含む文字列が必要です。

例えば:

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

次のようなリクエストを作成します。

{ "ename" : (null) }

しかし、私はそれが次のように見える必要があります

{ "ename" : null }

nil を Nil、NULL、[NSNull null] に置き換えると、すべて同じ出力文字列になります。

これを達成する方法はありますか?問題は、リクエストをサーバーに送信して解析しようとしたときに発生しますが、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 に答える