在 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 的相关文章

随机推荐

  • 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