在 Swift 中将 JSON 转换为 NSData,以及将 NSData 转换为 JSON

2024-02-14

我在转换时遇到问题JSON元素进入NSData, 和NSData变量返回到JSON在斯威夫特.

首先,我想提取encryptedData以下 JSON 数据的元素:

{
    "transactionID" : 12345,
    "encryptedData" : [-67,51,-38,61,-72,102,48]
}

进入 NSDataencryptedData变量,但似乎无法做到这一点。我在用着SwiftyJSON来解析JSON如下:

let list: Array<JSON> = json["encryptedData"].arrayValue!

但这给了我一个 ScalarNumber 数组,我不知道如何将其存储到NSData object.

其次,我想生成JSON从同一个地方回来NSData目的:

let jsonObject = [
    "transactionID" : 12345,
    "encryptedData" : encryptedData
]

但是 NSDataencryptedData对象不会转换为 [-67,51,-38,61,-72,102,48],它似乎只是使 JSON 字符串无效。

有任何想法吗?


这是在 swift 2.0 中在 JSON 和 NSData 之间转换的代码(改编自 Shuo 的答案)

// Convert from NSData to json object
func nsdataToJSON(data: NSData) -> AnyObject? {
    do {
        return try NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers)
    } catch let myJSONError {
        print(myJSONError)
    }
    return nil
}

// Convert from JSON to nsdata
func jsonToNSData(json: AnyObject) -> NSData?{
    do {
        return try NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted)
    } catch let myJSONError {
        print(myJSONError)
    }
    return nil;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中将 JSON 转换为 NSData,以及将 NSData 转换为 JSON 的相关文章

  • 块执行后变量返回 null

    我正在调度一个队列来在单独的线程上下载一些 flickr 照片 在 viewWillAppear 中 当我记录块内数组的内容时 它完美地显示了所有内容 dispatch queue t photoDowonload dispatch que
  • 如何在 Swift 中创建不可变数组?

    如何在 Swift 中创建不可变数组 粗略阅读文档会建议你可以这样做 let myArray 1 2 3 但遗憾的是 这实际上产生了一个可变的 固定大小的数组 这种可变性会产生常见的谜题 比如意外的别名和函数参数的突变 let outter
  • iOS 意外的平台状况(预期的“os”、“arch”或“swift”)-可达性

    我刚刚更新了我的 pod 更新后Reachability导致错误 意外的平台状况 预期的 os arch 或 swift I tried to build and clean but it does not work what s the
  • iPhone 存储大量图像

    我有大量与 sqlite 数据库中的记录相对应的图像 我应该把它们存放在哪里 我有同一张图像的 3 个版本 大号 中号 拇指号 我不想将它们存储在数据库表中 而是从每条记录中引用它们 所有图像都具有相同的名称 每个小 中和大图像文件都将被称
  • 您可以使用 JSONP 检索您的 Skype 状态吗?

    有谁知道使用 JSONP 获取 Skype 状态的 URL 到目前为止我只找到了一个 XML 状态 URL http mystatus skype com username xml 我正在尝试使用 AJAX 查询 Skype 是的 我可以使
  • 无法读取解析推送通知包数据

    我尝试使用 Parse 推送通知服务发送自定义数据 但从 Bundle 中提取时总是返回 null 值 自定义广播接收器 Override public void onReceive Context context Intent inten
  • 将对象映射到 TableView 部分的 Swift 二维数组

    我想不出更好的方法来做到这一点 我将学生对象的所有属性映射到二维数组中 所以我的电视有几个部分 我也不能使用静态表视图 如果是这样 这个问题就不会存在 所以我在 TVC 中的代码 let currentUser PFUser current
  • 关闭应用程序后如何调试

    我正在尝试重现问题 这需要在特定位置关闭并重新打开我的应用程序 这是我的问题 1 如何查看我的日志 使用NSLog命令 当我的 iPhone 未连接到 XCode 时 2 是否可以将iPhone模拟器的特定位置 例如市中心 设置为默认位置
  • sqlalchemy 的 row_to_json 语法

    我想弄清楚如何将 Postgres 9 2 row to json 与 SqlAlchemy 一起使用 但是我无法想出任何有效的语法 details foo row q select Foo where Foo bar id Bar id
  • 如何在 macOS 上的 SwiftUI 中设置拖动图像

    我正在尝试更改 GridView 的默认拖放预览图像 该图像似乎包含网格中的所有可见项目 据我了解 我应该能够设置NSItemProvider previewImageHandler块来自定义所使用的图像 我似乎找不到任何关于返回自定义图像
  • swift:移动动画

    我在故事板中有 viewController 还有4个正方形 我想将我的方块放在视图中 首先我想显示两个正方形 如果我按下按钮 我希望我的红色 2 个方块向左移动 然后显示接下来的 2 个蓝色方块 就像这部动画 我需要创建一个scrollV
  • 如何执行条件segue

    我通过 IB 创建了一个 segue 单击按钮时 将转换到视图 A 在按钮单击操作中 我有performSegue withIdentifier sender 包裹在一个条件中 我希望仅当条件为真时才发生 segue 但是 一旦用户单击按钮
  • Go中如何从json字符串中获取键值

    我想尝试从 Go 中的 JSON 获取键值 但我不确定如何操作 我已经能够使用 simplejson 读取 json 值 但是我无法找到如何获取键值 有人能指出我正确的方向和 或帮助我吗 谢谢你 您可以通过执行以下操作来获取 JSON 结构
  • Xcode 8.2 更新后二进制文件无效

    我今天尝试在更新到 Xcode 8 2 后向我的应用程序推送更新 但收到无效的二进制错误 我以前从未见过这个 我的应用程序的 iOS 部署目标是 iOS 9 0 有谁见过这个错误或知道如何修复它 这是电子邮件的内容 解释了二进制文件的无效内
  • json_decode 返回 null 并带有不同的引号

    json decode foo bar true 这有效 但是这个返回NULL json decode foo bar true The json last error 输出4 JSON ERROR SYNTAX 我检查了以下问题的一些答案
  • 从 Xcode 6 安装失败:“存在内部 API 错误”

    我尝试在 ipad ios 7 1 2 上运行一个在我的手机 ios 8 4 1 上运行良好的应用程序 Xcode 提示 存在内部 API 错误 仅此而已 我不确定如何解释日志 怎么了 我该如何解决 ipad日志 Aug 29 17 39
  • Swift 中 flatMap 和 CompactMap 的区别

    似乎在斯威夫特 4 1 flatMap已弃用 不过有一个新的方法斯威夫特 4 1 compactMap哪个在做同样的事情 和flatMap您可以转换集合中的每个对象 然后删除任何为零的项目 喜欢平面地图 let array 1 2 nil
  • 使用本地化故事板进行即时本地化

    我正在开发一个应用程序 它有一个切换按钮可以在英语和阿拉伯语之间切换 并且应该是动态的 我正在使用该方法https github com maximbilan ios language manager https github com ma
  • 电话号码的 Swift 2 国家/地区代码

    我正在尝试从 iPhone 用户处获取国家 地区代码 我不确定是否有有关该国家 地区以及某些应用程序 如 Viber 如何建议拨号代码的信息 我到目前为止 let currentLocale NSLocale currentLocale l
  • 从 Xcode iOS 项目运行 swift 脚本作为构建阶段

    这是一个简单的快速脚本 usr bin env xcrun swift import Foundation let task NSTask task launchPath bin echo task arguments farg1 arg2

随机推荐

  • Robolectric 3.0测试片段

    我是机器人电动测试的新手 我正在尝试跟随this https stackoverflow com questions 29173071 how to use findviewbyid in robolectric发布测试片段 我使用以下作为
  • 如何在c++中使用getline命令?

    我正在尝试将 cout 命令转换为 c 中的 getline 命令 这是我正在尝试更改的代码 for int count 0 count lt numberOfEmployees count cout lt lt Name cin gt g
  • CakePHP 可容纳条件不限制结果?

    我正在尝试在分类列表中查找用户的杂货 这些关联是 类别 hasMany Item hasMany User 到 Grocery 我正在使用可控制行为 它不会过滤掉所有其他杂货 它基本上返回每个项目 我的控制器功能 function show
  • 在 Go 中对多个返回值进行转换/类型断言的惯用方法

    在 Go 中转换多个返回值的惯用方法是什么 您可以在一行中完成它 还是需要使用临时变量 就像我在下面的示例中所做的那样 package main import fmt func oneRet interface return Hello f
  • 野牛规格和优先顺序

    给定 Bison 规范 right TOK ADD TOK MUL 我想知道 TOK ADD 和 TOK MUL 的优先顺序是什么 另外如果我有野牛规格 left TOKMUL TOKADD left TOKDIV left TOKSUB
  • Eclipse 构建错误“未编写类文件。项目可能不一致,如果是这样,请尝试刷新此项目并构建它”

    我一直在努力解决一个非常奇怪的问题 该问题突然出现在最新版本的 Eclipse Classic 4 2 2 上 每次我尝试在 Eclipse 工作区中的任何项目 所有 Java 中创建或重构类或子类时 我都会在类的最顶部收到一条错误消息 A
  • C程序中的文件大小

    我只想借助 c 程序找到文件大小 我写了一个代码 但它给出了错误的结果 fseek fp 0 SEEK END osize ftell fp 还有其他办法吗 The stat系统调用是解决这个问题的常用方法 或者 在您的具体情况下 fsta
  • 使用 JavaScript 迭代 PDF 表单中的所有字段

    我想修改 PDF 表单中所有字段的一些属性 以响应用户单击按钮 哪个属性或方法将返回字段集合以便我可以迭代它们 如果有字段集合我还没有找到 不过 有一种方法可以迭代所有字段 The numFieldsdoc 对象的属性给出了字段的数量 ge
  • JavaScript 获取字符串的实际长度(不带实体)

    我需要确定可能包含 html 实体的字符串的长度 例如 darr 将返回长度 6 这是正确的 但我希望这些实体仅被计为 1 个字符 div darr div alert document getElementById foo innerHT
  • java中是否可以使用字符串来调用raw中的文件?

    是否可以创建一个像这样的字符串 public String pos1 bloodstone 然后在 Mediaplayer 之类的东西中使用它 Mediaplayer s1 s1 MediaPlayer create this R raw
  • 从与 SimpleCursorAdapter 绑定的 ListView 中获取所选项目

    我是 Android 开发的新手 来自 iPhone 和 Net 背景 我见过与此非常相似的问题 但没有一个涉及 SimpleCursorAdapter 我有一个基本的 ListActivity 它使用 Cursor 将 SQLite 查询
  • 无法将 DTE、项目或解决方案转换为 VCProject 和 VCCodeModel

    我试图通过代码获取有关 c 程序的一些信息 我在 EnvDTE 方面取得了一些成功 现在我需要使用 VCProject 和 VCCodeModel 并且我遇到了转换问题 希望这就是全部 在工人阶级中 我有一个DTE application
  • LINQ 和分页[重复]

    这个问题在这里已经有答案了 我们需要使用 LINQ 从数据库中获取数据 我们现在需要实现分页 我想有时我们需要获取10一次记录 当我们单击 下一步 按钮时 它将获取下一条记录10来自数据库的记录 请用代码指导我 谢谢 我总是使用以下代码 p
  • Npm 请以 root/管理员身份再次尝试使用此命令

    我一直在拼命尝试使用 node js 安装模块 但总是无法使用 npm 获取包 我以管理员身份登录 并使用 powershell cmd 和 以管理员身份运行 我也遇到了注册表问题 所以我使用了 npm setregistryhttp re
  • 查找错误 ORA-00932:数据类型不一致:预期 DATE 为 NUMBER

    当我尝试运行此查询时 出现上述错误 有人可以帮我解决这个问题吗 UPDATE CCO ORDER CREATION SET Doc Date 8 9 2013 WHERE Document Number IN 3032310739 3032
  • Linux Eclipse CDT 分析器

    我在 Linux 下使用 Eclipse CDT 请问有人可以在该环境下推荐一个好的分析器吗 我也是 C 和多线程编程的新手 任何人都可以提供一些关于如何运行多线程应用程序分析的建议 例如 寻找性能瓶颈等 Thanks 我不知道这是否是最好
  • 运行hadoop时出错

    haduser user laptop usr local hadoop bin hadoop dfs copyFromLocal tmp input user haduser input 11 12 14 14 21 00 INFO ip
  • 中断并行流执行

    考虑这段代码 Thread thread new Thread gt tasks parallelStream forEach Runnable run 任务是应并行执行的 Runnable 列表 当我们启动这个线程并开始执行时 根据一些计
  • Twitter Bootstrap 默认值的 Flash 消息的自定义类和格式

    我正在将 twitter bootstrap css 集成到我的应用程序中 进展顺利 但我不知道如何为我的 Flash 消息自定义 CSS 和包装器 我希望我的 Flash 消息能够使用默认的 Bootstrap 类进行格式化 div cl
  • 在 Swift 中将 JSON 转换为 NSData,以及将 NSData 转换为 JSON

    我在转换时遇到问题JSON元素进入NSData 和NSData变量返回到JSON在斯威夫特 首先 我想提取encryptedData以下 JSON 数据的元素 transactionID 12345 encryptedData 67 51