文書   >   Foundation   >   Archives and Serialization   >   JSONDecoder
クラス
JSONDecoder
JSON オブジェクトからデータ型のインスタンスを復号化するオブジェクト。
概観
以下の例は、JSON オブジェクトから単純な GroceryProduct 型のインスタンスを復号化する方法を示しています。型は Codable を採用しているため、JSONDecoder インスタンスを使用して JSON として復号化可能です。
struct GroceryProduct: Codable {
var name: String
var points: Int
var description: String?
}
let json = """
{
"name": "Durian",
"points": 600,
"description": "A fruit with a distinctive scent."
}
""".data(using: .utf8)!
let decoder = JSONDecoder()
let product = try decoder.decode(GroceryProduct.self, from: json)
print(product.name) // Prints "Durian"
トピックス
第一段階
init()
デフォルトの書式設定と復号化方法を使用して、再利用可能な新しい JSON デコーダを作成します。
func decode<T>(T.Type, from: Data)
指定した、JSON オブジェクトから復号化した型の値を返します。
復号化をカスタム化
var userInfo: [CodingUserInfoKey : Any]
コンテキスト情報を提供することによって復号化処理をカスタム化するために使用する辞書。
日付を復号化
var dateDecodingStrategy: JSONDecoder.DateDecodingStrategy
JSON オブジェクトの一部から日付を復号化するときに使用される戦略。
enum JSONDecoder.DateDecodingStrategy
JSON から日付を復号化するときに使用できる日付形式の戦略。
生のデータの復号化
var dataDecodingStrategy: JSONDecoder.DataDecodingStrategy
デコーダが生データを復号化するために使用する戦略。
enum JSONDecoder.DataDecodingStrategy
生のデータを復号化するための戦略。
例外的な数値の復号化
var nonConformingFloatDecodingStrategy: JSONDecoder.NonConformingFloatDecodingStrategy
例外的な浮動小数点値に遭遇したときにデコーダが使用する戦略。
enum JSONDencoder.NonConformingFloatDecodingStrategy
準拠しない浮動小数点数をコード化するための戦略で、IEEE 754 例外値としても知られています。
インスタンスプロパティ
var keyDecodingStrategy: JSONDecoder.KeyDecodingStrategy
列挙型
enum SONDecoder.KeyDecodingStrategy
以下も見よ
JSON
Swift のさまざまな種類の JSON をコード化および復号化するためのアプローチを示します。
class JSONEncoder
データ型のインスタンスを JSON オブジェクトとしてコード化するオブジェクト。
class JSONSerialization
JSON と、同等の Foundation オブジェクトとの間を変換するオブジェクト。