如何将 JSON 转换为 Swift 中的数据类型?

How can I convert a JSON as Data Type in Swift?

我想在 swift 中将数据发送到我的 websocket 服务器,但是 websocket 服务器写入函数只接受字符串或数据类型。由于我没有找到 swift 的任何 JSON.stringify 选项,我使用 swiftyJson 创建了我自己的 JSON 类型,但现在我需要将其转换为数据以便能够将其发送到服务器。

 var json: JSON =  ["name": "Jack", "age": 25]
        socket?.send(data: json <-- This needs to be Data)

我尝试将 JSON 包装在 Data(json) 中,但这也不起作用。如果有解决方案,我已经安装了 swiftyJson 的任何想法

最简单的方法是文字

let json =  #"{"name": "Jack", "age": 25}"#
let data = Data(json.utf8)

使用 SwiftyJSON 也很简单,但效率较低。

let json: JSON =  ["name": "Jack", "age": 25]
let data = try! json.rawData()
let data = Data(json.utf8)

顺便说一下,我不建议使用外部库来完成这样简单的任务,因为您会依赖第三方的作品,而您无法控制这些作品。 坚持使用基础模型。