JSONをCSVに変換する方法
JSONテキストを入力し、必要なら区切り文字を指定して実行すると、CSVテキストに変換できます。トップレベルはオブジェクト、またはオブジェクトから始まる空でない配列にしてください。
JSONをCSVに変換する前に確認すること
JSONの内容を、表計算ソフトやデータ処理で扱いやすいCSVテキストへ変換したいときに使います。入力できるのはJSONテキストで、1つのオブジェクト、またはオブジェクトから始まる空でない配列が基本です。オブジェクトは1件のレコードとして処理され、配列では処理対象の各レコードに対応する行が作られます。
変換の手順
-
変換したいJSONテキストを入力欄に貼り付けます。空欄や空白だけの入力は処理できないため、JSONとして内容があることを確認してください。
-
JSONの形式を確認します。トップレベルがオブジェクトなら1件として扱われます。配列を使う場合は、空でないことと、最初の要素がオブジェクトであることを確認します。
-
区切り文字を指定します。指定しない場合はカンマが使われます。複数文字を入力した場合は先頭の1文字だけが使われ、空の指定はカンマに戻ります。
-
変換を実行し、出力されたCSVテキストを確認します。ヘッダーには処理されたレコード全体から見つかったフィールド名が、初めて現れた順に並びます。あるレコードに存在しないフィールドは、その行では空欄になります。
結果の見方と注意点
出力の先頭行はフィールド名のヘッダーです。その後ろには、処理されたレコードごとに1行が続きます。フィールドの値はCSVへ書き込む前にテキストへ変換されるため、数値なども文字として出力されます。
なお、JSON全体がオブジェクトでも配列でもない場合、空の配列、最初の要素がオブジェクトではない配列は受け付けられません。配列の2番目以降の要素は個別にオブジェクト検証されないため、後続要素に数値、null、配列などがあると、正常な変換結果ではなく処理失敗につながることがあります。
使用例
顧客1件分の名前と年齢を、カンマ区切りの1行データとして確認したい場合に使います。
nameが田中、ageが30のオブジェクトをJSONテキストとして入力し、区切り文字を指定せずに変換を実行します。
ヘッダー行にname、ageが初出順で並び、その後に1件分のCSV行が続きます。ageの値はCSV内のテキストとして書き込まれます。
制限事項
- 空の配列、最初の要素がオブジェクトではない配列、その他のトップレベル値は処理できません。配列の後続要素がオブジェクトでない場合は、処理に失敗することがあります。
よくある間違い
- JSONの記号や配列内の要素を確認せずに実行すると、形式不正として拒否されたり、後続の配列要素の処理で失敗したりします。実行前にJSONを検証し、配列の各要素をオブジェクトにそろえてください。
よくある質問
空欄のままJSONをCSVに変換できますか?
空の入力や空白だけの入力は処理できません。JSONテキストを入力し、トップレベルをオブジェクトまたはオブジェクトから始まる空でない配列にしてください。
区切り文字を指定しない場合はどうなりますか?
指定しなければカンマです。別の区切り文字を入力した場合は、複数文字でも先頭の1文字だけが使われます。空の指定はカンマになります。
レコードごとにフィールドが違う場合、CSVの列はどうなりますか?
処理されたレコード全体から見つかったフィールド名が、初めて現れた順でヘッダーになります。レコードにないフィールドの値は空欄です。