Я пытаюсь преобразовать KeyValuePairs<String:String>
в JSON, вот что я пробовал до сих пор, и он не работает как KeyValuePairs.
var userKeyValuePair: KeyValuePairs<String, String> {
return ["FirstName": "NSDumb",
"Address": "some address value",
"Age": "30"]
}
Я использую KeyValuePairs
, так как мне нужен порядокключ-значение в последовательности, а не неупорядоченный, поэтому я попытался преобразовать приведенное выше в JSON, используя следующий код
let serializedData = try! JSONSerialization.data(withJSONObject: userKeyValuePair, options: [])
let encodedData = String(data: serializedData, encoding: String.Encoding.utf8)
Но вышеприведенный код выдает ошибку времени выполнения и жалуется на недопустимое значение JSON.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__SwiftValue)'
Если я использую приведенный выше словарь для сериализации JSONObject, он работает нормально, но не с KeyValuePairs, я сначала подумал, может быть, мне следует создать свой собственный тип, реализующий протокол Sequence
, но перед тем, как идти по этому маршруту, я хотелчтобы узнать, есть ли лучший способ сделать это?