Как преобразовать JSON в тип данных в Swift?
Я хочу быстро отправлять данные на свой сервер веб-сокетов, но функция записи сервера веб-сокетов принимает только строки или тип данных. Поскольку я не нашел какой-либо опции JSON.stringify для swift, я использовал swiftyJson для создания собственного типа JSON, но теперь мне нужно преобразовать его в данные, чтобы иметь возможность отправить его на сервер.
var json: JSON = ["name": "Jack", "age": 25]
socket?.send(data: json <-- This needs to be Data)
Я попытался обернуть JSON в Data(json), но это тоже не сработало. Любые идеи, которые я установил swiftyJson, если есть решение для этого
2 ответа
Самый простой способ - буквальный
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)
Кстати, я бы не советовал использовать внешние библиотеки для таких простых задач, как вы попадаете в зависимость от сторонних работ, над которыми вы не имеете никакого контроля. Вместо этого придерживайтесь базовой модели.