01このファイルについて
DailyTask の保存データは .json 形式のテキストファイルです。アプリの「保存データ」タブから書き出し、Files.app や iCloud Drive から直接開いて編集できます。
編集して保存すると、アプリが内容を検証します。下記のルールに 1 つでも違反していると取り込みは拒否され、編集前の状態が保たれます。安全に手入力するために、このページの文法を守ってください。
02全体構造
ファイルのいちばん外側は、3 つのキーを持つオブジェクトです。
{ "version": 2, // スキーマのバージョン(整数) "tags": [ … ], // タグの一覧 "tasks": [ … ] // タスクの一覧 }
| キー | 型 | 必須 | 説明 |
|---|---|---|---|
version | 整数 | 必須 | スキーマのバージョン。現在は 1 または 2 が有効。アプリの書き出しは常に 2。 |
tags | 配列 | 必須 | タグオブジェクトの配列。空配列 [] でも可。 |
tasks | 配列 | 必須 | タスクオブジェクトの配列。空配列 [] でも可。 |
version 2 でタスクに isRecurring(習慣型フラグ)が追加されました。version 1 の古いファイルも読み込めます(その場合 isRecurring は無いものとして扱われます)。
04tasks 配列の要素
タスクは 1 日分のタスク 1 件を表します。各要素は次のキーを持ちます。
{ "id": "A1B2C3D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D", "name": "ランニング 30 分", "isFavorite": false, "isCompleted": true, "isRecurring": true, "date": "2026-06-15", "tagIDs": ["7E3A9C12-4F8B-4D2E-9A11-0C5B6D7E8F90"] }
| キー | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列(UUID) | 必須 | このタスクを一意に識別する UUID。tasks 内で重複してはいけません。 |
name | 文字列 | 必須 | タスク名。 |
isFavorite | 真偽値 | 必須 | お気に入りかどうか(true / false)。 |
isCompleted | 真偽値 | 必須 | 達成済みかどうか(true / false)。 |
isRecurring | 真偽値 | 任意 | 習慣型タスクかどうか。version 2 で追加。省略した場合は false 扱い。 |
date | 文字列 | 必須 | そのタスクが属する日。yyyy-MM-dd 形式(例 2026-06-15)。時刻は含めません。 |
tagIDs | 配列(UUID) | 必須 | このタスクに付くタグの id の配列。すべて tags に実在する id を指す必要があります。タグなしは []。 |
05使えるタグカラー(プリセット 9 色)
colorHex には次の 9 色のいずれかを、大文字・先頭 # 付きの 6 桁で指定します。これ以外の色は受け付けられません。
#65A1DF
グリーン #6AD08C
レッド #EC6969
オレンジ #F7B344
パープル #AA72C1
イエロー #F9CA62
ティール #3CC6AB
ピンク #EC409D
グレー #929D9E
06検証ルール(7 項目)
取り込み時に次の 7 ルールがすべてチェックされます。1 つでも違反すると取り込みは拒否されます。
- JSON として正しいか — 括弧・カンマ・引用符など、JSON の文法として正しく解析できること。
- version が既知か —
versionが1または2であること。 - 必須フィールドと型の一致 — 上の表の必須キーがすべて存在し、型が合っていること。
idとtagIDsの各要素は UUID として解釈できる文字列であること。 - date の形式 —
dateがyyyy-MM-dd(ISO 8601 の日付)であること。実在しない日付は不可。 - colorHex がプリセットか —
colorHexが許可された 9 色のいずれかであること。 - タグ参照が有効か —
tagIDsが指すidがtagsに実在すること(存在しないタグを指す「孤立参照」は不可)。 - id の重複なし —
tags内、tasks内それぞれでidが重複していないこと。
07記入例(完成形)
タグ 2 件、タスク 2 件を含む、検証を通る最小の完成例です。
{ "version": 2, "tags": [ { "id": "7E3A9C12-4F8B-4D2E-9A11-0C5B6D7E8F90", "name": "運動", "colorHex": "#6AD08C" }, { "id": "2B4D6F81-1C3E-4A5B-8D7F-9E0A1B2C3D4E", "name": "勉強", "colorHex": "#65A1DF" } ], "tasks": [ { "id": "A1B2C3D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D", "name": "ランニング 30 分", "isFavorite": false, "isCompleted": true, "isRecurring": true, "date": "2026-06-15", "tagIDs": ["7E3A9C12-4F8B-4D2E-9A11-0C5B6D7E8F90"] }, { "id": "F0E1D2C3-B4A5-4968-8778-665544332211", "name": "英単語 20 個", "isFavorite": true, "isCompleted": false, "isRecurring": false, "date": "2026-06-15", "tagIDs": ["2B4D6F81-1C3E-4A5B-8D7F-9E0A1B2C3D4E"] } ] }
08よくある質問
UUID はどう作ればいい?
既存のタグ・タスクをコピーして使い回さず、新規に作るときは UUID 生成ツール(オンラインの「UUID generator」など)で 8-4-4-4-12 桁の文字列を作ってください。大文字・小文字は区別されません。
コメント(//)は書ける?
書けません。このページのサンプル内の // … は説明用です。実際の JSON にコメントは入れられないので、保存前に削除してください。
末尾カンマは付けていい?
付けられません。配列やオブジェクトの最後の要素のうしろにカンマ(,)を残すと、ルール 1(JSON 解析)で弾かれます。
タグを付けたくないタスクは?
"tagIDs": [] と空配列にします。キー自体を消すことはできません。
編集が取り込まれませんでした。
このページの 7 つのルールを上から順に確認してください。特に多いのは、末尾カンマ・引用符の閉じ忘れ(ルール 1)、colorHex のスペルや大文字小文字(ルール 5)、存在しないタグを tagIDs に書いてしまう(ルール 6)です。