Swift 4でこのjsonをデコードするにはどうしたらいいですか? "トークン"を自分で取得したいので、キーチェーンに保存できます。Swift 4でJSON(JSON Webトークン)をデコードするにはどうすればよいですか?
{
"success":true,
"token":"***"
,
"user": {
"id": "59f0ec6d5479390345980cc8",
"username": "john",
"email": "[email protected]"
}
}
私はこれを試しましたが、何も印刷しません。
let session = URLSession.shared
let task = session.dataTask(with: request) { (data, _, _) in
guard let data = data else { return }
do {
let jsonwt = try JSONDecoder().decode(JWT.self, from: data)
print(jsonwt.token)
} catch {}
}
task.resume()
}
私はこれをキャッチの後に置くことができますが、これはjson全体を取得し、私はそれを望んでいません。
print(String(data: data, encoding: .utf8)!)
ここに構造があります。私はこれがどこにあるのかと思う。
struct User: Decodable {
let id: String
let username: String
let email: String
}
struct JWT: Decodable {
let success: String
let token: String
let user: User
}
あなたが何をしようとしたことがありますか? – Hamish
'success'は' String'ではなく、 'Bool'型のようです。 –
これにはいくつかの方法があります。これは、特にiOS内での長期にわたる議論の1つです。 Swift 4のソリューションが組み込まれています(正しくリコールすれば)。これらのAPIを見て、より具体的な質問に戻ってくることをお勧めします。ここから始めましょう:https://developer.apple.com/swift/blog/?id=37 – Oxcug