文書   >   Foundation   >   Archives and Serialization   >   JSONEncoder
クラス
JSONEncoder
データ型のインスタンスを JSON オブジェクトとしてコード化するオブジェクト。
概観
以下の例は、JSON オブジェクトから単純な GroceryProduct 型のインスタンスをコード化する方法を示しています。型は Codable を採用しているため、JSONEncoder インスタンスを使用して JSON としてコード化可能です。
struct GroceryProduct: Codable {
var name: String
var points: Int
var description: String?
}
let pear = GroceryProduct(name: "Pear", points: 250, description: "A ripe pear.")
let encoder = JSONEncoder()
encoder.outputFormatting = .prettyPrinted
let data = try encoder.encode(pear)
print(String(data: data, encoding: .utf8)!)
/* Prints:
{
"name" : "Pear",
"points" : 250,
"description" : "A ripe pear."
}
*/
トピックス
第一段階
init()
デフォルトの書式設定とコード化方法を使用して、再利用可能な新しい JSON エンコーダを作成します。
func encode<T>(T)
指定した値の JSON でコード化した表現を返します。
コード化のカスタム化
var outputFormatting: JSONEncoder.OutputFormatting
コード化された JSON オブジェクトの可読性、サイズ、および要素の順序を決定する値。
struct JSONEncoder.OutputFormatting
コード化された JSON オブジェクトの可読性、サイズ、および要素の順序を決定する出力書式設定オプション。
var userInfo: [CodingUserInfoKey : Any]
コンテキスト情報を提供することによってコード化処理をカスタマイズするために使用する辞書。
日付のコード化
var dateEncodingStrategy: JSONEncoder.DateEncodingStrategy
JSON オブジェクトの一部として日付をコード化する際に使用される戦略。
enum JSONEncoder.DateEncodingStrategy
JSON として日付をコード化する際に日付の書式設定に使用できる書式設定の戦略。
生のデータのコード化
var dataEncodingStrategy: JSONEncoder.DataEncodingStrategy
エンコーダが生のデータをコード化するために使用する戦略。
enum JSONEncoder.DataEncodingStrategy
生のデータをコード化するための戦略。
例外的な数値のコード化
var nonConformingFloatEncodingStrategy: JSONEncoder.NonConformingFloatEncodingStrategy
例外的な浮動小数点値に遭遇したときにエンコーダが使用する戦略。
enum JSONEncoder.NonConformingFloatEncodingStrategy
準拠しない浮動小数点数をコード化するための戦略で、IEEE 754 例外値としても知られています。
インスタンスプロパティ
var keyEncodingStrategy: JSONEncoder.KeyEncodingStrategy
列挙型
enum JSONEncoder.KeyEncodingStrategy
以下も見よ
JSON
Swift のさまざまな種類の JSON をコード化および復号化するためのアプローチを示します。
class JSONDecoder
JSON オブジェクトからデータ型のインスタンスを復号化するオブジェクト。
class JSONSerialization
JSON と、同等の Foundation オブジェクトとの間を変換するオブジェクト。