我正试图改变
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
但在我走这条路之前,我想知道是否有更好的方法?