在 Objective-C 中检查 Json 响应的空值

2024-06-04

[
  {
    "AT" : null,
    "EA" : null,
    "AD2" : "",
    "OP" : null,
    "AdsLst" : [

    ],
    "EMs" : null,
    "ND" : {
      "MN" : null,
      "FN" : "Sony",
      "LN" : "J"
    },
    "ZP" : "23456",
    "CT" : 1,
    "PP" : 0,
    "cId" : 161464,
    "Pos" : null,
    "WPExt" : null,
    "OS" : 0,
    "HP" : "(345) 678-7890",
    "BTTC" : 0,
    "PWD" : null,
    "UId" : 627,
    "DId" : 0,
    "UN" : null,
    "CY" : "Salt lake",
    "Comp" : null,
    "PMC" : 0,
    "AEa" : null,
    "AnD" : null,
    "DOB" : "1\/05\/1979",
    "IDel" : false,
    "ST" : "UH",
    "AD" : "2345 Symonds street",
    "Mob" : null,
    "WP" : "(234) 324-6576",
    "PL" : 0,
    "Potcus" : false
  },
  {
    "AT" : null,
    "EA" : null,
    "AD2" : "",
    "OP" : null,
    "AdsLst" : [

    ],
    "EMs" : null,
    "ND" : {
      "MN" : null,
      "FN" : "Augustine",
      "LN" : "Gomes"
    },
    "ZP" : "43567",
    "CT" : 1,
    "PP" : 0,
    "cId" : 161466,
    "Pos" : null,
    "WPExt" : null,
    "OS" : 0,
    "HP" : "(456) 457-6588",
    "BTTC" : 0,
    "PWD" : null,
    "UId" : 627,
    "DId" : 0,
    "UN" : null,
    "CY" : "test",
    "Comp" : null,
    "PMC" : 0,
    "AEa" : null,
    "AnD" : null,
    "DOB" : null,
    "IDel" : false,
    "ST" : "AZ",
    "AD" : "2345 test",
    "Mob" : null,
    "WP" : "(678) 987-0890",
    "PL" : 0,
    "Potcus" : false
  },
  {
    "AT" : null,
    "EA" : null,
    "AD2" : "",
    "OP" : null,
    "AdsLst" : [

    ],
    "EMs" : null,
    "ND" : {
      "MN" : null,
      "FN" : "Jenny",
      "LN" : "X"
    },
    "ZP" : "45678",
    "CT" : 1,
    "PP" : 0,
    "cId" : 161467,
    "Pos" : null,
    "WPExt" : null,
    "OS" : 0,
    "HP" : "(435) 644-6545",
    "BTTC" : 0,
    "PWD" : null,
    "UId" : 627,
    "DId" : 0,
    "UN" : null,
    "CY" : "Sallas",
    "Comp" : null,
    "PMC" : 0,
    "AEa" : null,
    "AnD" : null,
    "DOB" : null,
    "IDel" : false,
    "ST" : "TX",
    "AD" : "2433 Main street",
    "Mob" : null,
    "WP" : "(657) 656-8798",
    "PL" : 0,
    "Potcus" : false
  },
  {
    "AT" : null,
    "EA" : null,
    "AD2" : "",
    "OP" : null,
    "AdsLst" : [

    ],
    "EMs" : null,
    "ND" : {
      "MN" : null,
      "FN" : "BLVD Cont F1",
      "LN" : "Blvd Contact L1"
    },
    "ZP" : "",
    "CT" : 1,
    "PP" : 0,
    "cId" : 161473,
    "Pos" : null,
    "WPExt" : null,
    "OS" : 0,
    "HP" : null,
    "BTTC" : 0,
    "PWD" : null,
    "UId" : 627,
    "DId" : 0,
    "UN" : null,
    "CY" : "",
    "Comp" : null,
    "PMC" : 0,
    "AEa" : null,
    "AnD" : null,
    "DOB" : null,
    "IDel" : false,
    "ST" : "",
    "AD" : "",
    "Mob" : null,
    "WP" : null,
    "PL" : 0,
    "Potcus" : false
  },

在此响应中,我只想显示“FN”,“LN”,“CT”,“PP”,“cId”,“Pos”,“AT”,“EA”,“AD2”这些标签值......那么哪个是空值只是想显示“Apple”....

谁能帮我

我的代码是

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{

    NSError *error;
    json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
    NSLog(@"json.... %@",json);


    id jsonObject = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:nil];

    NSLog(@"jsonObject=%@", jsonObject);

    NSDictionary *checkArray=[jsonObject valueForKey:@"ND"];


    cheDisk=[checkArray valueForKey:@"FN"];
    cheDisk1=[checkArray valueForKey:@"LN"];

    NSLog(@"FN =%@",cheDisk);
    NSLog(@"LN =%@",cheDisk1);

}

try with

   objectForKey will return nil if a key doesn't exist


  Symbol    Value            Meaning
  =======   =============   =========================================
   NULL     (void *)0       literal null value for C pointers
   nil      (id)0           literal null value for Objective-C objects
   Nil      (Class)0        literal null value for Objective-C classes
  NSNull    [NSNull null]   singleton object used to represent null


  NSString *strOP = [results objectForKeyOrNil:@"OP"];

 - (id)objectForKeyOrNil:(id)key {
     id val = [self objectForKey:key];
     if ([val isEqual:[NSNull null]] || val==nil) {
         return nil;
     }

     return val;
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Objective-C 中检查 Json 响应的空值 的相关文章

  • scrollToRowAtIndexPath:atScrollPosition:动画滚动太慢

    基于分页 UIScrollView 的页面更改 我正在调用scrollToRowAtIndexPath atScrollPosition animated到所显示的该页面的表详细信息 void scrollViewDidScroll UIS
  • iOS 新手。预期的表达错误?

    这看起来很不寻常 因为该方法与我的 showAnswer 方法完全相同 所以我想我应该在这里问 import QuizViewController h interface QuizViewController end implementat
  • 使用 UINavigationController 从右向左推送 ViewController

    大家都知道UINavigationController从左到右推送ViewController 有没有办法从右到左推送View 就像后退按钮的动画一样 现在我有这个 self navigationController pushViewCon
  • 如果您查看内部,nib 文件到底是什么样子的?

    我刚刚学习 nibs 和 swift 并对某些东西感到好奇 我知道 如果您有一个 main storyboard 文件 则首先加载根视图控制器的笔尖 然后加载该视图控制器下可能分层存在的任何视图 但是 我想知道一些事情 当他们说笔尖已 加载
  • 当点击 UITableViewCell 的子视图时引发选择事件 (didSelectRowAtIndexPath)

    我创建了一个自定义 UITableViewCell 其中包含许多子视图 在大多数情况下 我希望 UITableViewCell 的控制器来处理事件 在一种情况下 我希望子视图简单地将事件传递给父 UITableViewCell 这将导致它在
  • 即席分发失败

    我在一家大公司工作 正在开发一个适用于 iOS 5 的 iOS 应用程序 分发应用程序的唯一方式是通过临时部署 我拥有自己的服务器已经有一段时间了 由 o2switch 法国托管商 托管 当我开始开发时 我们使用它来部署应用程序以进行 Be
  • 我如何知道 UITableView 何时完成 ReloadData?

    我试图在执行完成后滚动到 UITableView 的底部 self tableView reloadData 我原本有 self tableView reloadData NSIndexPath indexPath NSIndexPath
  • 我可以使用 NSDateFormatter 将此日期字符串转换为 NSDate 吗?

    我有这个字符串 2010 08 24T16 00 00 05 00 我想从中提取时间部分 即 16 00 并将其转换为 12 小时等效值 即下午 04 00 我正在尝试使用 NSDateFormatter 来完成此任务 但它不起作用 NSD
  • 相机叠加图片

    edit 3 好消息和坏消息 好消息是 在连接检查器中 通过断开覆盖 UIToolbar 并连接 UIImageview 我看到theKing 但是 坏消息 我没有看到我也需要的 UIToolbar 所以现在的问题是 当用户完成这里操作后
  • 无限 UIScrollView 在 iOS4.3 中出现奇怪的行为,而不是 iOS5

    我已经实现了一个包含 UIView 的无限 UIScrollView 在 iOS5 模拟器和 iPhone 中滚动时 效果非常好 但在 iOS 4 3 sim 和手机 中 情况有点疯狂 滚动条传递的视图比应有的多 大约比 iOS5 多 10
  • 无法下载应用程序 - 此时无法下载“APP”

    我的应用程序有 PLUS 版本和常规版本 我使用不同的目标对它们进行存档 我将 ipa 上传到 TestFlight 也上传到我的曲棍球服务器 PLUS 版本总是下载得很好 但普通版本总是给我 无法下载应用程序 错误 我根本没有更改两个版本
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用视图控制器?

    我有一个使用 Xcode 4 0 的 基于窗口的应用程序 模板创建的 iOS 应用程序 当时运行良好 并且使用的是 iOS 4 3 SDK 这是一个简单地将按钮 标签等直接放置到窗口上的应用程序 没有视图控制器 什么都没有 但现在我已经升级
  • 子视图控制器旋转方法未被调用

    Summary 我试图将子视图控制器添加到父视图控制器 并让父视图控制器通知子视图控制器旋转事件 但是 旋转消息不会转发到子视图控制器 这是默认行为 为什么这种默认行为没有发生 环境 iOS 7 XCode 5 OSX 10 9 Detai
  • SDWebImage 显示缓存中图像的占位符

    在 iOS 5 1 项目 iPad 中使用 SDWebImage 3 我们展示相当大的图像 700x500 并且我们有很多图像 1000 我们预取图像并缓存到磁盘 然后允许用户浏览它们 效果很好 除了当您浏览图像时 您总是会看到占位符显示一
  • iOS:addConstraints:应用程序崩溃

    Problem 我似乎无法在现有项目中采用自动布局 Details 我之前也遇到过与此问题相同的问题presentViewController 在 iOS 但所提供的答案都不是我的解决方案 我正在使用所有没有 xib 的故事板视图 我的 使
  • iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像? (水印)

    基本上 我想拍摄用户从照片库中选择的图像 然后应用水印 即右下角的三角形 上面有应用程序名称 我已经在 Photoshop 中用透明层制作了第二张图像 我尝试了一个函数 我不记得它的确切名称 但它涉及 CGIImages 和蒙版 这将两个图
  • 桌面上的 AVAudioSession?

    在 mac 桌面上 我试图录制系统声音 以及可选的麦克风声音 但一开始我只是录制系统声音 我正在遵循本指南 https www appcoda com ios avfoundation framework tutorial https ww
  • NSURLConnection 是否自动保留从服务器发送的 cookie?

    我从 ios 登录到我的龙卷风后端并发回 secure cookie 我注意到只要验证我设置的 secure cookie 我还可以请求其他信息 NSURLConnection 会保留 cookie 多久 或者关闭应用程序后 cookie
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐