如何在Swift中将JSON转换为Data Type?

hgqdbh6s  于 2023-08-02  发布在  Swift
关注(0)|答案(2)|浏览(119)

我想在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安装,如果有一个解决方案.

q35jwt9p

q35jwt9p1#

最简单的方法是一个文字

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

字符串
SwiftyJSON也很简单,但效率较低。

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

vuktfyat

vuktfyat2#

let data = Data(json.utf8)

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

相关问题