JSON入力

Swift出力

JSONをSwiftとは?

REST APIを呼び出すiOSまたはmacOSアプリを作っていますか?JSONが返ってきますが、Swiftは安全にデコードするために明示的なCodable structsが必要です。APIエンドポイントごとにそれらのstructsを手書きするのは繰り返し作業で、ミスのもとです。このツールはJSONからSwift structsを自動生成し、Codable準拠も含まれています。サンプルレスポンスを貼り付けるだけで、JSONDecoderにすぐ使えるタイプが手に入ります。

変換はブラウザで実行されます。struct名を設定し、Use CodableOptional Typesを有効にできます。サーバーには送信されません。

JSONをSwiftが役立つ場面

iOSやmacOSアプリでREST APIを消費する際、Codable structをここで生成してください。サンプルレスポンスを貼り付けると型付きモデルが得られます。

使い方

1

JSONを貼り付けまたはアップロード

JSONを左のエディタに貼り付けるか、ファイルをアップロードしてください。サンプルで例データを読み込めます。設定でStruct NameUse CodableOptional Typesを設定してください。

2

生成された型を確認

右パネルにSwift structまたはclassが表示されます。無効なJSONの場合は先にJSONバリデーターを使用してください。

3

コピーまたはダウンロード

コピーまたはダウンロードでコードを取得してください。先にJSONをフォーマットするにはJSONフォーマッターを、検証にはJSONバリデーターを使用してください。

JSONをSwiftの例

JSONオブジェクトからSwift structを生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたSwift出力:

出力

JSONをSwiftが役立つ場面

iOSやmacOSアプリでREST APIを消費する際、レスポンスペイロード用のSwift型が必要です。サンプルレスポンスを貼り付けるとURLSessionやAlamofireで使えるCodable structが得られます。

よくある質問

SwiftのCodable structとは何ですか?

CodableEncodable & Decodableのtypealiasです。Codable structはSwiftの組み込みJSONDecoderJSONEncoderを使ってJSON形式に変換できます。iOSとmacOSアプリでJSONを扱うモダンで推奨される方法です。AppleのCodableガイドを参照してください。

SwiftでJSONをデコードするには?

JSONに合わせたCodable structを作り、JSONDecoder().decode(YourType.self, from: data)を呼びます。ここでstructを生成してください — JSONを貼り付けて結果をXcodeプロジェクトにコピーします。

SwiftのJSONモデルにstructとclassどちらを使う?

structsは値型であり、SwiftのDTOやJSONモデルに適しています — シンプルでスレッドセーフでCodableと相性抜群です。参照セマンティクスや継承が必要な場合はclassを使います。

JSONデータはサーバーに送信されますか?

いいえ。structの生成はブラウザ内で完全に実行されます。JSONがデバイスを離れることはないため、APIキーや機密ペイロードでも安全に使えます。

Alamofireで使えますか?

はい。AlamofireのresponseDecodable(of: YourType.self)はどんなCodable型でも動作します。ここでstructを生成してAlamofireのレスポンスハンドラにそのまま組み込んでください。

関連ツール

Swift CodableJSONDecoderJSON仕様RFC 8259を参照。