Как преобразовать 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)

Кстати, я бы не советовал использовать внешние библиотеки для таких простых задач, как вы попадаете в зависимость от сторонних работ, над которыми вы не имеете никакого контроля. Вместо этого придерживайтесь базовой модели.

Другие вопросы по тегам