将 JSON 字符串转换为 NSDictionary 时,并非所有键都起作用

2024-05-25

我使用以下代码将 JSON 字符串文字转换为包含每个项目的 NSDictionary 的数组:

NSString* json = @"[{\"name\":\"Item 1\",\"id\":\"999\",\"lang\":\"en\",\"type\":\"A\",\"version\":15}]";
NSData* data = [json dataUsingEncoding:NSUTF8StringEncoding];
NSArray* values = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

从我的测试设备中删除该应用程序后,该应用程序在尝试访问时开始崩溃for loop values[i][@"name"]。观看时values在检查器中,我看到以下内容:

values = (NSArray *) @"1 object"
    [0] = (__NSDictionaryM *) 5 key/value pairs
        [0] = (no summary) : @"Item 1"
        [1] = @"id" : @"999"
        [2] = @"type" : @"A"
        [3] = (no summary) : (long)15
        [4] = @"lang" : (no summary)

当进一步扩展时,应该是name and version都显示为类型(__NSCFConstantString *)

这是在从设备中删除应用程序之前运行的,并且对这部分代码没有进行任何更改。

关于可能导致此问题的任何想法,或者将 json 字符串转换为字典的更好方法?

UPDATE:我将“名称”和“版本”更改为“游戏”和“gersion”,效果非常好。


在尝试调试几个小时后,我和我的主管决定重新启动我正在开发的 MacBook。这解决了运行时问题,并且我问题中的代码再次按预期工作。

我们仍然不确定是什么导致设备进入这种状态,因为多次运行“清理构建文件夹”、关闭并重新启动 XCode,以及重新启动 iPad 对我们没有任何帮助。

我考虑删除这个问题,但由于我们不知道是什么导致了这个问题,我认为其他人将来可能会遇到这个问题,这个答案可以帮助他们。如果有人能够提供一些关于可能导致这种情况的原因的见解,我将很乐意接受您的回答。

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

将 JSON 字符串转换为 NSDictionary 时,并非所有键都起作用 的相关文章

  • 将 UIToolBar 添加到所有键盘(swift)

    我正在尝试以尽可能少的重复次数将自定义 UIToolBar 添加到我的所有键盘中 我目前的做法要求我将代码添加到所有 viewDidLoads 中 并将每个文本字段的委托分配给我正在使用的 viewController 我尝试创建自己的 U
  • 无法在 ios 应用程序中通过 googlecast 正确投射视频

    我正在开发一个基于 AVPlayer 的自定义视频播放器项目 尝试整合谷歌演员 我已经根据谷歌图进行了集成 https codelabs developers google com codelabs cast videos ios http
  • nlohmann/json 框架中的未知断点

    一段时间以来 当我在启用断点的 Xcode 下运行我的应用程序时 我显然在名为 nlohmann basic json 的系统框架中遇到了一个未知断点 我可以毫无问题地继续执行 但这无论如何都很烦人 知道这个断点的原因是什么 或者更好的是
  • 如何为 iPhone 6+、6 和 5 指定不同尺寸?

    我想让 iPhone 6 6 和 5 上的视图看起来几乎相同 在附图中 我的意思是 例如 取消 按钮在 iPhone 5 中距离屏幕左边缘应为 30 像素 在 6 中为 35 像素 在 6 中为 45 像素 其他元素也类似 如何为每种类型设
  • 有什么方法可以询问方法的名称吗?

    我正在尝试调试我正在开发的 iPhone 应用程序 向各种源文件添加 50 条 NSLog 语句的想法让我感到很兴奋 我想做的是写一对陈述 比如 NSString methodName self methodName NSLog metho
  • ABAddressBookCopyArrayOfAllPeople 中缺少联系人

    我试图从我的应用程序中的地址簿中查找电话号码 但很惊讶没有找到它 问题是 我已经在我的应用程序访问的控制台中打印了地址簿的所有号码 奇怪的是 有些联系人丢失了 我正在将输出与我的地址簿进行比较 虽然数量很少 但仍然如此 这就是我访问地址簿的
  • BigQuery 未显示链接的 Firebase Analytics 事件日志的任何数据集

    我将我的帐户链接到 Big Query 但 Firebase Analytics 事件不会自动加载到 BigQuery 中 显示 未找到数据集 警告 我的工作进度附在下面 请查收 I have getting firebase Analyt
  • 使用 JaxRS 自定义 JSON 序列化

    在 Web 服务调用中 我想返回具有此 JSON 结构的对象 date 30 06 2014 price val 12 50 curr EUR 我想将此 JSON 代码映射到此 Java 结构 使用乔达时间 http www joda or
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 如何格式化 Json 输出

    请帮助我如何获取 JSON 输出 如下所示 costMethod Average fundingDate 2008 10 02 fundingAmount 2510959 95 代替 type sma costMethod Average
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • Unwind segue 的用途是什么以及如何使用它们?

    iOS 6 和 Xcode 4 5 有一个称为 Unwind Segue 的新功能 展开转场可以允许过渡到故事板中场景的现有实例 除了 Xcode 4 5 发行说明中的 这个简短条目之外 UIViewController 现在似乎还有几个新
  • 如何在 UITableView 的 switch 语句中创建变量?

    我正在构建一个包含三个部分的 tableView 我已经完成了前两个工作 但最后一个有点阻力 我的问题似乎涉及尝试在 switch 语句中声明变量 实际上是嵌套的 switch 语句 据我所知 这不是一个好主意 但在这种情况下 这似乎是唯一
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • 字节流和字符流

    请解释一下什么是字节流和字符流 这些究竟意味着什么 Microsoft Word 文档是面向字节的还是面向字符的 Thanks 流是一种顺序访问文件的方式 字节流逐字节访问文件 字节流适用于任何类型的文件 但不太适合文本文件 例如 如果文件
  • NSRunningApplication - 终止

    我将如何使用NSRunningApplication 我有与启动应用程序相反的东西 NSWorkspace sharedWorkspace launchApplication appName 但我想关闭一个 当我调试代码时出现错误NSRun
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • 从 Cython 代码生成 SIMD 指令

    我需要概述在高性能数字代码中使用 Cython 可以获得的性能 我感兴趣的事情之一是找出优化的 C 编译器是否可以对 Cython 生成的代码进行矢量化 所以我决定写下面的小例子 import numpy as np cimport num
  • MYSQL从另一个表插入id

    我有以下疑问 我有 2 张桌子 id customers 1 alan 2 beth 3 john and id id customers value 1 1 bar 2 1 foo 3 2 baz 示例 我需要在第二个表中添加值 alfa
  • Actionscript 3 中的外部配置文件

    我需要能够将外部配置文件加载到我的 Flex 应用程序中 我读到 只要将 mimeType 设置为 application octet stream 就可以使用嵌入 package learning import org flixel pu
  • 通过 PHP 脚本重新启动 Nginx

    我目前正在努力使我的 WordPress 插件与 nginx 兼容 该插件需要访问 conf文件在wp content uploads目录 以便它可以添加所需的规则 目前 它更新了 htaccess文件位于同一目录中 更改立即生效 无需干预
  • 使用 Dio download 下载大视频会导致内存不足

    我正在尝试制作一个具有从 url 下载视频功能的 flutter 应用程序 并且视频预计会很大 至少 1 到 2 小时的 720p 我为此使用了 Dio 但它尝试将完整的视频存储在 RAM 中 这会导致内存不足错误 这是我使用的代码 有什么
  • 未定义的符号:SSLv2_client_method

    我正在尝试将 openssl 1 0 1e 更新到 1 0 1s 这是源码编译的 当我完成以下步骤后 cd openssl 1 0 1s config 共享 make 进行安装 apachectl 配置测试 我收到错误 httpd usr
  • 是否有 JSON 配置文件来定义 XACML 策略?

    我是 XACML 世界的新手 我已经阅读了一些有关 v3 0 标准的 JSON 和 REST 配置文件的文档 但我能找到的所有内容都与 XACML 请求和响应有关 而不是与策略相关 这是我感兴趣的部分 是否有关于如何使用 JSON 配置文件
  • WCF 客户端返回空数组 - XML 响应似乎正常

    我正在尝试为我们的 Intranet 上托管的 Web 服务创建一个简单的 WCF 客户端 C 使用 Fiddler 和 SoapUI 我可以看到请求和响应似乎正常 但是当我运行代码时返回一个空数组 我会尝试只粘贴相关的行 但会是很多东西
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • 重塑错误 - 无效的“row.names”长度

    我有以下数据库 宽格式 st all 其中有两个我希望重塑的变量 P 和 PLC 主题的 ID 是 g id g id study condition sample PLC1 PLC2 PLC3 PLC4 PLC5 PLC6 PLC7 PL
  • 雅虎财经历史股价动力查询返回301响应

    直到今天我的 Excel 2016 power query 都能够从以下 URL 获取历史股票定价数据https finance yahoo com quote AAL history p AAL https finance yahoo c
  • 带有 Spring 的 Tomcat

    我有一个在 Tomcat 中托管的 3 层应用程序 Web 服务和 DAO 层 如何整合Tomcat和Spring 我需要利用Spring的依赖注入 事务管理等 我只能想到实例化 ClassPathXmlApplicationContext
  • 调试WCF时无法自动单步进入服务器

    我得到了可怕的 无法自动进入服务器 无法调试远程过程 这通常表明服务器上尚未启用调试 现在 我一直在读我需要添加
  • 如何以编程方式检查 UILabel 是否具有属性文本或普通文本?

    有什么方法可以判断 UILabel 是否使用其文本设置label attributedText or label text财产 问题是当你设置attributedText text也会更新 反之亦然 因此无法检查这些属性是否为 nil 受
  • 自定义 JScrollBar-Thumb 被绘制,但不移动

    我决定更深入地研究秋千和自定义绘画组件的材质 过去几天 我在 StackOverFlow 和其他论坛上阅读了大量文章 API 文档和问题 但在理解这个概念时我仍然遇到了一些基本问题 我想要做什么 基本上 我想为我自己的 Swing GUI
  • [对象窗口]是什么?

    谷歌翻译有一些书签可以让您一键翻译 例如 javascript var t window getSelection window getSelection document getSelection document getSelectio
  • 将 JSON 字符串转换为 NSDictionary 时,并非所有键都起作用

    我使用以下代码将 JSON 字符串文字转换为包含每个项目的 NSDictionary 的数组 NSString json name Item 1 id 999 lang en type A version 15 NSData data js