🍁
Swift: CodableとJSON
JSONEncoderとJSONDecoderを使います。
JSONSerializationは使いません。
Object → JSON Data → JSON String
struct Content: Codable {
var name: String
var number: Int
}
let dict: [UUID: Content] = [
UUID() : .init(name: "apple", number: 1),
UUID() : .init(name: "banana", number: 2),
UUID() : .init(name: "cherry", number: 3),
]
let encoder = JSONEncoder()
encoder.outputFormatting = [.prettyPrinted, .sortedKeys]
let data = try encoder.encode(dict)
guard let jsonStr = String(data: data, encoding: .utf8) else { return }
print(jsonStr)
JSON Data → Object
let dict = try JSONDecoder().decode([UUID: Content].self, from: data)
print(dict)
Discussion