如何使用具有字典数组的键解析字典

2024-04-02

UPDATE-8/31/12-所以现在我需要根据“isReservable”= 1遍历字典数组,然后显示“begin”。我只是想获取每个字典的数组的内容,我可以从那里开始(暂时)。以下是我尝试过的。感谢大家的帮助,我每天都学到更多。

来自 php 页面的 json

{
"slots": {
    "2012-08-31 00:00:00 America/Los_Angeles": [
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-30 17:00:00 America/Los_Angeles",
            "end": "2012-08-30 17:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-30 17:30:00 America/Los_Angeles",
            "end": "2012-08-30 18:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": false,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-30 18:00:00 America/Los_Angeles",
            "end": "2012-08-31 00:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": false,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 00:00:00 America/Los_Angeles",
            "end": "2012-08-31 08:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 08:00:00 America/Los_Angeles",
            "end": "2012-08-31 08:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 08:30:00 America/Los_Angeles",
            "end": "2012-08-31 09:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 09:00:00 America/Los_Angeles",
            "end": "2012-08-31 09:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 09:30:00 America/Los_Angeles",
            "end": "2012-08-31 10:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": false,
            "isReserved": true,
            "label": "Thomas Kroom",
            "begin": "2012-08-31 10:00:00 America/Los_Angeles",
            "end": "2012-08-31 12:30:00 America/Los_Angeles",
            "span": 5
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 12:30:00 America/Los_Angeles",
            "end": "2012-08-31 13:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 13:00:00 America/Los_Angeles",
            "end": "2012-08-31 13:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 13:30:00 America/Los_Angeles",
            "end": "2012-08-31 14:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 14:00:00 America/Los_Angeles",
            "end": "2012-08-31 14:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 14:30:00 America/Los_Angeles",
            "end": "2012-08-31 15:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 15:00:00 America/Los_Angeles",
            "end": "2012-08-31 15:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 15:30:00 America/Los_Angeles",
            "end": "2012-08-31 16:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 16:00:00 America/Los_Angeles",
            "end": "2012-08-31 16:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 16:30:00 America/Los_Angeles",
            "end": "2012-08-31 17:00:00 America/Los_Angeles",
            "span": 1
        }
    ],
    "2012-09-01 00:00:00 America/Los_Angeles": [
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 17:00:00 America/Los_Angeles",
            "end": "2012-08-31 17:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 17:30:00 America/Los_Angeles",
            "end": "2012-08-31 18:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": false,
            "isReserved": false,
            "label": " ",
            "begin": "2012-08-31 18:00:00 America/Los_Angeles",
            "end": "2012-09-01 00:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": false,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 00:00:00 America/Los_Angeles",
            "end": "2012-09-01 08:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 08:00:00 America/Los_Angeles",
            "end": "2012-09-01 08:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 08:30:00 America/Los_Angeles",
            "end": "2012-09-01 09:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 09:00:00 America/Los_Angeles",
            "end": "2012-09-01 09:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 09:30:00 America/Los_Angeles",
            "end": "2012-09-01 10:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 10:00:00 America/Los_Angeles",
            "end": "2012-09-01 10:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 10:30:00 America/Los_Angeles",
            "end": "2012-09-01 11:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 11:00:00 America/Los_Angeles",
            "end": "2012-09-01 11:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 11:30:00 America/Los_Angeles",
            "end": "2012-09-01 12:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 12:00:00 America/Los_Angeles",
            "end": "2012-09-01 12:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 12:30:00 America/Los_Angeles",
            "end": "2012-09-01 13:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 13:00:00 America/Los_Angeles",
            "end": "2012-09-01 13:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 13:30:00 America/Los_Angeles",
            "end": "2012-09-01 14:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 14:00:00 America/Los_Angeles",
            "end": "2012-09-01 14:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 14:30:00 America/Los_Angeles",
            "end": "2012-09-01 15:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 15:00:00 America/Los_Angeles",
            "end": "2012-09-01 15:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 15:30:00 America/Los_Angeles",
            "end": "2012-09-01 16:00:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 16:00:00 America/Los_Angeles",
            "end": "2012-09-01 16:30:00 America/Los_Angeles",
            "span": 1
        },
        {
            "isPending": false,
            "isReservable": true,
            "isReserved": false,
            "label": " ",
            "begin": "2012-09-01 16:30:00 America/Los_Angeles",
            "end": "2012-09-01 17:00:00 America/Los_Angeles",
            "span": 1
        }
    ]
}

这是我到目前为止所拥有的

- (void)fetchedData:(NSData *)responseData {
    //parse out the json data

    NSError* error;
    //NSLog(@"string is %@", responseData);

    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&error];

    NSDictionary* myslots =[json objectForKey:@"slots"];
NSLog(@"allslots: %@", myslots);
//for (NSString *slotKey in myslots.allKeys) {
    //NSDictionary *slot = [myslots valueForKey:slotKey];
    //NSLog(@"These are all the keys: %@", slotKey);
    NSArray *keys = [myslots allKeys];

更新-这就是我让它工作的方式:

for (NSString *slotKey in myslots.allKeys) {
    NSDictionary *slot = [myslots valueForKey:slotKey];
        NSArray *tests = [myslots objectForKey:slotKey];
    for (NSDictionary *myDict in tests){
        NSLog(@"%@", [myDict objectForKey:@"begin"]); 
    }
    }

现在我只需要将其更改为“isReservable”= true 则显示“begin”


看起来 myslots 是一个 NSDictionary,而不是一个 NSArray ...要迭代它的所有键,请更改

for (NSDictionary *slots in myslots) {
    // code
}

for

for (NSString *slotKey in myslots.allKeys) {
    NSDictionary *slot = [myslots valueForKey:slotKey];
    // code
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用具有字典数组的键解析字典 的相关文章

  • 子类 PFObject 上的 PFUser 属性

    我使用以下类 动态属性以及 m 文件中的 load 和 parseClassName 方法 对 PFObject 进行了子类化 interface DAOpponents PFObject
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 使 iOS 应用程序与 iPhone 6 和 iPhone 6 尺寸兼容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我创建了一个应用程序 其中使用 xib 进行布局 目前我使用两种不同的 xib 一种用于iPhone4 320 480 一种用于iPh
  • 更改导航项(栏)的背景颜色

    有没有一种简单的方法可以更改视图顶部导航项的背景颜色 我有一个基于导航的应用程序 我只希望一个视图获得另一种背景颜色 我主要使用 IB 创建视图 我找到了以下解决方案 未测试 float r 10 float g 55 float b 13
  • Xcode 错误 - 架构 x86_64 的未定义符号?

    我正在运行 Swift 4 和 Xcode 9 beta 我收到此错误 但我不知道如何解决它 我什至不知道这是什么意思 Undefined symbols for architecture x86 64 T0So22AVCapturePho
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 在 XCode 7.0.1 中设置 VTK 6.1

    所以 我遇到了问题VTK 可视化工具包 http www vtk org在 Mac OSX 上工作 特别是让它在XCode https developer apple com xcode 我让它工作并将在下面发布这个问题的答案 截至 201
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • 我们能否检测用户是否通过主页按钮或锁定按钮离开而没有监听 darwin 通知?

    我最近向应用程序商店提交了一个新的二进制文件并将其发送以供审核 但它立即被拒绝并显示以下消息 不支持的操作 不允许应用程序监听设备锁定通知 经过一番挖掘后 我发现我们无法使用 com apple springboard lockstate
  • iOS:滚动视图仅在键盘出现后才起作用

    我制作了滚动视图 其中有很多文本字段 我添加了更新的 TPKeyBoardAvoidingScrollView 并将其添加到滚动视图的文件所有者中 我在 h 文件中添加了插座 在 m 文件中综合并添加了行 self view addSubv
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 从 Mac 命令行访问 iOS 应用程序目录(沙箱)

    我需要使用 Mac 或 Linux 上的命令行 非 GUI 访问 iOS 设备上安装的应用程序的沙箱目录 这有助于开发和测试自动化 将 json 文件放入沙箱中可以让我设置参数 例如额外的调试消息和更小的刷新间隔 像 iFunBox 这样的
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 从什么时候起 Xcode 不再需要前向方法声明,为什么?

    我注意到 Xcode 或更准确地说是 Apple LLVM 编译器 不再需要前向方法声明 换句话说 构建以下代码时不会发出警告 implementation Foo void foo self bar void bar end 这曾经发出警
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 将 less-plugin-glob 与 Webpack 结合使用

    我正在尝试将现有项目的构建系统从gulp to webpack 它当前有一个入口点 less 文件 可导入各种其他文件 如下所示 import bower components bootstrap less bootstrap less i
  • 即使在索引字段上,MongoDB 排序也非常慢

    今天我遇到了这个问题 我的 MongoDB 查询速度非常慢并且超时 我发布了这个问题 MongoDB 记录太多 https stackoverflow com questions 11701103 mongodb too many reco
  • iPhone 中的 jpg 图像和 2x 图像

    我正在开发 iphone 应用程序并定位iOS 4 0或稍后 我正在尝试将图像添加到 UIImageView 并且图像位于jpeg格式 这就是我到目前为止所做的 UIImageView bgImageView UIImageView all
  • Div 溢出滚动到底部:可能吗?

    如果我有一个div with overflow auto使其成为可滚动的div我加载它的信息会形成一个重要的滚动区域 有没有一种方法可以在我加载信息时 div显示底部结果 或者基本上滚动到底部 我见过 jQuery 解决方案 但这是在 HT
  • 如何让图片大小在滚动时平滑变化?

    我有带有大徽标的标题 我想在滚动超过 100px 后将其变小 这工作正常但不流畅 我怎样才能做到平滑 我的代码 function window scroll function if this scrollTop gt 100 header
  • AngularJS 登录表单与 ng-click 不起作用

    我在这个插件中写了一个基本的登录表单http plnkr co edit xQEN1ZNN5ZEw1CSwNw97 p preview http plnkr co edit xQEN1ZNN5ZEw1CSwNw97 p preview 单击
  • 如何在改造多部分请求中发送对象数组

    I want to send array objects with multipart data I tried many ways but it is not working My issue with the contributor p
  • 如何为Android Studio构建模板项目

    我使用 Android Studio 我必须创建许多始终包含三个模块的项目 应用程序 应用程序 图书馆 图书馆 壁纸 应用程序 我知道可以使用 ADT 来构建活动模板等 我找到了一些类似的教程this https android arsen
  • 在 C# 中使用 XSLT 将 RVML 转换为 SVG

    我有一个 C Web 应用程序 它使用以下命令生成 SVG 代码拉斐尔 JS http www raphaeljs com 然后我需要将其转换为 PNG 以实现用户之间的一般互操作性 请参阅我之前的问题在这里 https stackover
  • 如何从首选项屏幕返回到主要活动?

    我有一项主要活动和一项偏好活动 在我的第一个活动中 我调用菜单并通过调用startActivityForResult继续preferenceActivity case R id settings startActivityForResult
  • TCP 数据偶尔会以错误的顺序接收且不完整

    我用 Java 创建了 TCP 服务器应用程序 并用 C 创建了客户端应用程序 当我发送数据时 客户端有时会乱序接收数据 有时部分会完全丢失 基本上 我在服务器 java 中使用的代码如下 已删除 ServerSocket welcomeS
  • 将同步方法更改为异步方法

    我在谷歌上搜索了很多并阅读了不同的菜鸟教程 但我认为我不明白正确的做法是什么 基本上 现有的同步代码会在服务器启动并运行时执行某些操作 有时 很少见 服务器需要更长的时间才能启动 因此我想将其包装在一些重试逻辑中 我构建了一个完全愚蠢的控制
  • 单向数据库同步

    经常需要将一个数据库中的主表中的数据同步到其他数据库 通常位于其他服务器上 中的克隆表 例如 考虑这样一种情况 后端系统管理库存数据 并且库存数据最终必须推送到作为网站应用程序一部分的一个或多个数据库 后端系统中的源数据高度规范化 有数十个
  • 如何强制文本框显示正在输入的内容?

    在我的 UWP 应用程序中 单击按钮 btnCre8NewMap 时我会调用 ContentDialog 这是相关的 XAML
  • 使用 BeautifulSoup 迭代 XML 来提取特定标签并存储在变量中

    我对编程相当陌生 一直在努力寻找解决方案 但我能找到的只是零碎的东西 没有真正的运气将它们组合在一起 我正在尝试使用BeautifulSoup4 in python刮一些xml并将文本值存储在变量中的特定标签之间 这些数据来自医学生培训计划
  • Android 支持 v23.1.0 更新破坏了 NavigationView 获取/查找标头

    我一直在使用v23 0 1支持库到目前为止没有任何问题 现在当我切换到新的v23 1 0我在抽屉布局中的小部件上得到一个空指针 mNavigationView NavigationView findViewById R id navigat
  • 蟒蛇基维 |标签文本上的阿拉伯文本

    当我尝试输入阿拉伯语文本时出现问题 我的代码是 import kivy from kivy app import App from kivy uix textinput import TextInput class TestApp App
  • SQL Server 2014 nvarchar(max) 结果的哈希字节为 nvarchar(max)

    使用 SQL Server 2014 我有一个表nvarchar max 称为的列 ASCII File 它可以包含许多 K 的 ASCII 文本文件 然后我想对该文件执行 MD5 哈希字节 并且生成的哈希值应始终为 20 字节 好吧 当我
  • 如何在 MySQL 中搜索“邻近词”?

    例如 我想搜索一个词 marple 这应该返回具有接近或精确单词的行 例如 marble maple marple ETC 在mysql查询中如何实现呢 或者更好地给出建议 如果有的话 SOUNDEX 函数 http dev mysql c
  • 如何使用具有字典数组的键解析字典

    UPDATE 8 31 12 所以现在我需要根据 isReservable 1遍历字典数组 然后显示 begin 我只是想获取每个字典的数组的内容 我可以从那里开始 暂时 以下是我尝试过的 感谢大家的帮助 我每天都学到更多 来自 php 页