0

PHP Web サービスを使用する私のアプリ。しかし、応答の一部のフィールドが null であり、その null 値を処理できません。

これが私の応答です

[
{
ID: 1,
ChapterID: 0,
Code: "FLGSV01",
Number: "0",
Text: "Swedish Flag",
VersionChanged: 1,
LastChange: "Jun 26 2013 12:00:00:000AM",
Type: "img",
info: null
}
]

私はこのような私の辞書でこの応答を解析しました

tmpDictn : {
    ID = 1,
    ChapterID = 1;
    Code = SECH1W;
    ID = 2;
    LastChange = "Jun 26 2012 12:00:00:000AM";
    Number = 001;
    Text = "ett
\n";
    Type = img;
    VersionChanged = 1;
    info = "<null>";
}

ご覧のように、info の値が Null であり、それを文字列で解析しようとすると、文字列よりも文字列になります<null>が、代わりに空の文字列を表示したいだけです。

このコードを試しましたが、うまくいきません

if ([tmpDictn objectForKey:@"info"]!=nil) {
            info = [tmpDictn objectForKey:@"info"];
        }

そして、このコードは私にエラーを与えますNSNull

if ([[tmpDictn objectForKey:@"info"] isEqualToString:@"<null>"]) {
            info = [tmpDictn objectForKey:@"info"];
        }

では、この null 値をどのように処理できますか?

4

4 に答える 4

1

と比べて[NSNull null]

ドキュメントから

NSNull クラスは、コレクション オブジェクト (nil 値を許可しない) で null 値を表すために使用されるシングルトン オブジェクトを定義します。

if([tmpDictn objectForKey:@"info"] == [NSNull null]) 
{
  info = nil;
}
else
{
  info = [tmpDictn objectForKey:@"info"]
}
于 2013-07-24T10:29:05.220 に答える
0

使ってみて[NSNull null]

if ([tmpDictn objectForKey:@"info"]!=[NSNull null]) {
      info = [tmpDictn objectForKey:@"info"];
} else {
      //Handle null value
}
于 2013-07-24T10:29:04.553 に答える
0
info = [tmpDictn objectForKey:@"info"];
if(info == null)
{
    //Handle null
}
于 2013-07-24T10:27:14.703 に答える
0
if ([[tmpDictn objectForKey:@"info"] isKindOfClass:[NSNull class]])
{
    info = [tmpDictn objectForKey:@"info"];
}
于 2013-07-24T10:28:41.677 に答える