ChatGPTでJSONを作る方法|形式崩れを防ぐ5ステップ

ChatGPTでJSONを作る方法を示すアイキャッチ 開発・クリエイティブ

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件として扱うか
  2. 必要な項目名
  3. 各項目の型
  4. 値がない場合の扱い
  5. 出力後の確認方法

タスク一覧なら、次のように決められます。

設計項目 決める内容
1件の単位 1つのタスク
必須項目 title、priority、completed、due_date
型 文字列、数値、真偽値、文字列またはnull
空欄 推測せずnull
確認 構文→項目→値の順

項目名を日本語にすることもできますが、別ツールやプログラムで再利用するなら、半角英数字とアンダースコアで統一すると扱いやすくなります。

ChatGPTでJSONを作る5ステップ

ChatGPTでJSONを作る5ステップ。目的、項目と型、空欄ルール、見本、3層確認の順に進める

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を構文、項目、値の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を作るときは、次の順番で進めます。

  1. 利用目的を伝える
  2. 項目名と型を決める
  3. 空欄の扱いを決める
  4. 完成形の見本を示す
  5. JSONだけを出力させ、構文・項目・値を確認する

「JSONとして開ける」だけでは完了ではありません。必要な項目がそろい、元データと値が一致して初めて、次のツールへ安全に渡せます。

まずは架空の2〜3件で出力設計カードを作り、この記事のプロンプトを試してみてください。

コメント

タイトルとURLをコピーしました