読書ログのJSONが読み込めないとき
形式・上限・置き換えを確認
読み込みが止まったときは、まず元の読書記録を残したまま、ファイル形式と中身を確かめます。このツールは読み込む前に全件を検証し、不正なJSONでは現在の記録を置き換えません。
目的:原因を順番に切り分け、既存データを守りながら有効なJSONバックアップを復元します。
最初に知っておくこと
- 対応する形式は
schemaVersion: 1で、booksは配列です。 - 読み込める本は最大200件です。本のIDは重複できません。
- 有効なファイルを読み込んで確認ダイアログに同意すると、現在の一覧をそのファイルの内容で置き換えます。自動で追加・統合する機能はありません。
- 構文や項目が不正なら、読み込みを中止し、元の保存データを変更しません。
検査用の架空JSON
これは説明用の1件だけの架空データです。ツールが書き出すJSONの必須構造に合わせています。
{
"schemaVersion": 1,
"books": [
{
"id": "sample-reading-001",
"title": "雨音のノート",
"totalPages": 180,
"currentPage": 45,
"status": "読書中",
"completedDate": null,
"tags": ["小説"],
"notes": "架空のサンプル"
}
]
}
この例では件数は1、状態は「読書中」、45÷180で進捗は25%です。読み込んで確認に同意すれば、現在の記録はこの1件に置き換わります。サンプルを復元して既存データへ追加するわけではありません。
復元手順:順番に確認する
- 現在の記録が必要なら、先にツールの「JSONを書き出す」でバックアップを保存します。
- 選んだファイルがJSON形式で、途中で切れていないか確認します。ファイル名を
.jsonに変えるだけでは中身は修正されません。 - ルートに
"schemaVersion": 1と配列の"books"があるか確認します。バージョンが異なるJSONは現行ツールでは読み込めません。 - 各本にID、タイトル、総ページ、現在ページ、状態、読了日、タグ配列、メモがあるか確認します。ID重複、無効な日付、現在ページが総ページを超える値、201件以上も拒否されます。
- トップページの「JSONを読み込む」でファイルを選びます。表示された件数と置き換えの説明を確認し、意図したときだけ確定します。
期待結果と制約
上の例を読み込むと「1件の記録を読み込みました」と表示され、一覧に「雨音のノート」が1件表示されます。たとえば schemaVersion を 2 に変えると、対応外の形式として拒否され、読み込む前の記録は保持されます。
現行形式と異なるバックアップを自動変換する機能、複数ファイルの結合、差分だけの追加はありません。JSONの内容を直接編集するより、元のツールで再度書き出したファイルを使う方が項目漏れを避けられます。
ツールで試す
サンプルの1件を登録してJSONを書き出し、必要なら空のテスト用ブラウザ環境で読み込みを試せます。普段使いの記録がある画面では、先にバックアップを保存し、置き換え確認を読んでから操作してください。