1

我创建了一个休息服务,其输出形式为

 {
        "id": "1905",
        "groupId": "724",
        "giftingId": null,
        "name": "This is a great service",
   }

我正在使用 AFNetworking http 客户端调用此服务。它的输出是

  {
     name = "This is a great service";
     id = 1905;
     groupId = 724;
     giftingId = "<null>";
  }

当它为空时,我无法解析那个赠送的 ID。我只是想将数据解析为 NSString?当 JSON 作为字符串发送时,为什么将它们解析为整数?

4

1 回答 1

4

我认为您误解了您在输出中看到的内容。输出 NSDictionary 时,它不会为所有字母和数字的任何字符串打印双引号。This is a great service有空格和<null>尖括号。

我很确定字典打印为:

{
    name = "This is a great service";
    id = 1905;
    groupId = 724;
    giftingId = "<null>";
}

实际上是:

@{
    @"name" : @"This is a great service",
    @"id" : @"1905",
    @"groupId" : @"724",
    @"giftingId" : [NSNull null],
}

我认为这里的解决方案是处理和检测 NSNull。[JSON[@"giftingId"] isEqual:[NSNull null]]应该能够检测是否giftingId是 NSNull。

如果你没有最新的 Xcode,那么你应该使用[[JSON objectForKey:@"giftingId"] isEqual:[NSNull null]]

于 2012-10-10T15:21:25.843 回答