---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# コーダーとコード可能モデルの操作

# コーダーとコード可能モデルの操作 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：2分

Mobile SDK の iOS 実装では、コーダーと Codable モデルの追加機能が提供されます。

## コーダーの列挙 {#mobsdk-ios-work-coder-codable_mod__section_fyx_4ly_3qb}

`Coder` 列挙体は、`JSONEncoder` を付随する `JSONDecoder` でラップし、両者が同じコーディング戦略を提供するようにします。Codable モデルを処理する NowData フレームワーク API の多くは JSON からのコーディングとデコードに依存しているため、 `Coder` はエンコーダーとデコーダーを指定する方法を簡素化および標準化します。通常は、`非ISO8601UTC`の日付形式を使用して日付をエンコードおよびデコードするデフォルトの`コーダー`(`.default`)を使用するだけで十分です。`DateFormatter.nonISO8601UTC` は、NowData フレームワークによって提供される静的日付フォーマッターです。これは、 ServiceNow プラットフォームによって UTC (GMT+0) タイムゾーンで保存され、デバイスのロケールとタイムゾーンを考慮して テーブル API によってyyyy-MM-dd HH:MM:SS 形式で使用される日付のエンコードとデコードを担当します。

特定の日付形式を処理する場合など、カスタム JSON コーディングが必要な場合は、カスタム Coder の関連型としてカスタム `JSONEncoder` と `JSONDecoder` を指定することで、カスタム `Coder` を作成できます。エンコーダーとデコーダーの両方で同じコーディング戦略を使用する必要があります。

例：  

    let myEncoder = JSONEncoder()
    myEncoder.dateEncodingStrategy = .formatted(.nonISO8601UTC)
    let myDecoder = JSONDecoder()
    myDecoder.dateDecodingStrategy = .formatted(.nonISO8601UTC)

    let myCoder: Coder = .custom(myEncoder, myDecoder)

## ネストされた構造のコーディング可能な拡張 {#mobsdk-ios-work-coder-codable_mod__section_pvt_3ry_3qb}

NowData フレームワークは、ネストされた構造をドット区切りパスでデコードする機能を提供します。この機能により、ラッパー構造とネストされた JSON デコードを使用する必要がなくなるため、ネストされたデータを簡単に利用できるようになります。

