ChatGPTに「JSONで出して」と頼んだのに、項目名が毎回変わったり、説明文が混ざったりして困っていませんか。
JSONは、Web制作や自動化、データの受け渡しでよく使う形式です。ただし、見た目がJSONらしくても、そのまま別のツールへ渡せるとは限りません。
失敗を減らすコツは、先に必要な項目と型を決め、出力後に「構文・項目・値」の3段階で確認することです。この記事では、初心者でも再現しやすい5ステップと、そのまま使えるプロンプトを紹介します。
プログラムでの活用を初歩から知りたい方は、先にChatGPTでプログラミングを始める方法も確認してください。
JSONとは?何に使う形式なのか
JSONは、名前と値を組み合わせて情報を整理するテキスト形式です。人が読める一方、プログラムでも扱いやすいため、Webサービス間のデータ受け渡しや設定ファイルなどに使われます。
たとえば、1件のタスクは次のように表せます。
{
"title": "議事録を確認する",
"priority": 2,
"completed": false,
"due_date": "2026-09-30"
}
この例では、title などが項目名、右側が値です。文字列はダブルクォーテーションで囲み、数値や真偽値は囲みません。
| 値の種類 | JSONでの例 | 用途 |
|---|---|---|
| 文字列 | "議事録" |
名前や説明 |
| 数値 | 2 |
件数や優先度 |
| 真偽値 | true / false |
完了・未完了 |
| 配列 | ["営業", "会議"] |
複数の値 |
| null | null |
値が未設定 |
MDNのJSON解説でも、JSONは構造化したデータを文字列として表す形式として説明されています。
作成前に「出力設計カード」を用意する
ChatGPTへいきなり本文を渡すより、最初に出力の設計を短く決めると安定します。SkillForgeでは、次の5項目を「出力設計カード」として整理します。
- 何を1件として扱うか
- 必要な項目名
- 各項目の型
- 値がない場合の扱い
- 出力後の確認方法
タスク一覧なら、次のように決められます。
| 設計項目 | 決める内容 |
|---|---|
| 1件の単位 | 1つのタスク |
| 必須項目 | title、priority、completed、due_date |
| 型 | 文字列、数値、真偽値、文字列またはnull |
| 空欄 | 推測せずnull |
| 確認 | 構文→項目→値の順 |
項目名を日本語にすることもできますが、別ツールやプログラムで再利用するなら、半角英数字とアンダースコアで統一すると扱いやすくなります。
ChatGPTでJSONを作る5ステップ

1. JSONを使う目的を伝える
最初に「何のためのJSONか」を1文で説明します。
たとえば「会議メモをタスク管理ツールへ移すため」と伝えれば、ChatGPTはタスク単位の情報を意識しやすくなります。
2. 項目名と型を指定する
必要なキーと値の型を明記します。
「priorityは1から3の整数」「completedはtrueまたはfalse」のように、使える値まで限定すると、表記揺れを減らせます。
3. 空欄のルールを決める
情報が足りないときにChatGPTへ推測させると、JSONの形が合っていても内容が誤る恐れがあります。
不明な日付は null、該当するタグがなければ空の配列 [] など、欠損値のルールを先に決めましょう。
4. 完成形の見本を1件示す
説明だけでなく、期待するJSONを1件示すと形式が伝わりやすくなります。見本の項目名と型は、本番データと同じにしてください。
5. JSONだけ出力させ、3段階で確認する
最後に「説明文やMarkdownのコードフェンスを付けず、JSONだけを出力」と指定します。
出力後は、JSONとして読めるかだけで終わらず、必要な項目があるか、元データと値が一致しているかまで確認します。
そのまま使えるプロンプト例
次のプロンプトは、会議メモからタスク一覧を作る例です。
次の会議メモを、タスク一覧のJSONに変換してください。
【目的】
タスク管理ツールへ登録するため
【出力形式】
トップレベルは配列にしてください。
各タスクには次の項目を含めてください。
- title: 文字列。タスクの内容
- owner: 文字列またはnull。担当者
- due_date: YYYY-MM-DD形式の文字列またはnull。期限
- priority: 1〜3の整数。3が最優先
- completed: trueまたはfalse
【ルール】
- 元のメモにない情報は推測せずnullにする
- 日付の年が不明な場合はnullにする
- 説明文やMarkdownのコードフェンスを付けない
- 有効なJSONだけを出力する
【会議メモ】
(ここに個人情報や機密情報を除いた会議メモを貼り付ける)
最初は実データではなく、2〜3件の架空データで試してください。想定どおりの形になってから、必要な範囲のデータだけを使います。
出力されるJSONの例
[
{
"title": "見積書を更新する",
"owner": "佐藤",
"due_date": "2026-09-30",
"priority": 3,
"completed": false
},
{
"title": "次回会議の日程を調整する",
"owner": null,
"due_date": null,
"priority": 2,
"completed": false
}
]
同じ項目が並んでいるため、表への変換やプログラムでの処理がしやすくなります。ただし、JSONでは項目の順番に意味を持たせないのが基本です。「3番目の項目」ではなく、priority のような項目名で扱いましょう。
よくある形式崩れと直し方
| 症状 | 主な原因 | 直し方 |
|---|---|---|
| JSONの前後に説明文が付く | 出力範囲が曖昧 | 「JSONだけ」と再指定する |
| シングルクォートになる | JavaScriptやPython風の表記 | 文字列とキーはダブルクォートと指定する |
| 項目名が毎回変わる | キーを固定していない | 項目名を一覧で明記する |
| 数値が文字列になる | 型を指定していない | priorityは整数 と書く |
| 不明な値が創作される | 空欄ルールがない | 推測せず null と指定する |
| 途中で切れる | 一度に大量生成 | 件数を分けて生成する |
形式が崩れたときは、会話全体をやり直す必要はありません。「今の出力を、同じ内容のまま次の仕様に修正してください」と伝え、違反している条件だけを再掲します。
表記の揺れをまとめて直したい場合は、ChatGPTで正規表現を作る方法も役立ちます。
「構文・項目・値」の3段階で確認する

JSON作成で最も重要なのは、形が正しいことと、内容が正しいことを分けて確認することです。
1. 構文を確認する
カンマやダブルクォーテーション、かっこの対応を確認します。プログラムで扱う場合は、JavaScriptの JSON.parse() などで解析できるか試せます。詳しい動作はMDNのJSON.parse()解説で確認できます。
エラーが出たら、そのエラーメッセージとJSONの一部をChatGPTへ渡し、修正理由も説明させると学習にもなります。
2. 項目を確認する
必須項目が全件にあるか、型が設計どおりかを見ます。
たとえば priority が抜けていないか、completed が文字列の "false" ではなく真偽値の false になっているかを確認します。
3. 値を確認する
最後に、名前・日付・数値が元データと一致するか照合します。JSONとして正常でも、内容が正しい保証にはなりません。
重要な業務データや公開情報に使う場合は、人が原文と見比べて確認してください。必要ならChatGPTでコードレビューをする方法の観点も使えます。
ブラウザ版ChatGPTとAPIの違い
この記事のプロンプトは、ブラウザ版ChatGPTで出力を整えやすくするための方法です。指定を細かくしても、毎回必ず同じ構造になると保証されるわけではありません。
アプリや自動化で厳密な形式が必要な場合は、OpenAI APIのStructured Outputsが選択肢になります。OpenAIの公式ガイドでは、Structured Outputsは指定したJSON Schemaへの適合を目的とし、単なるJSON modeは有効なJSONを返してもスキーマ適合までは保証しないと説明されています。
ただし、スキーマどおりでも値の内容に誤りがないとは限りません。APIを使う場合も、入力の検証、値の照合、エラー処理は必要です。
SQLを作る工程と組み合わせたい方は、ChatGPTでSQLを作る方法も参考にしてください。
まとめ
ChatGPTでJSONを作るときは、次の順番で進めます。
- 利用目的を伝える
- 項目名と型を決める
- 空欄の扱いを決める
- 完成形の見本を示す
- JSONだけを出力させ、構文・項目・値を確認する
「JSONとして開ける」だけでは完了ではありません。必要な項目がそろい、元データと値が一致して初めて、次のツールへ安全に渡せます。
まずは架空の2〜3件で出力設計カードを作り、この記事のプロンプトを試してみてください。


コメント