01 / 例
例
namae,toshi
Ada,こんにちは
Lin,ようこそ[
{
"namae": "Ada",
"toshi": "こんにちは"
},
{
"namae": "Lin",
"toshi": "ようこそ"
}
]コード整形 / MULTIVERTO
ヘッダベースの CSV テーブルを JSON オブジェクトに変換します。
01 / 例
namae,toshi
Ada,こんにちは
Lin,ようこそ[
{
"namae": "Ada",
"toshi": "こんにちは"
},
{
"namae": "Lin",
"toshi": "ようこそ"
}
]02 / ガイド
見出し行のある CSV 表を JSON オブジェクトの配列へ変換します。先頭の行をプロパティ名として読み、後続の行をそれぞれ一つのオブジェクトにします。セルに 42 と書かれていても、値は自動的に数値にはならず文字列のままです。重複する見出しや列数の合わない行は、フィールドを黙って結合せずにエラーとして知らせます。
CSV は行とセルからなる表で、数値や真偽値などの型を持つオブジェクトモデルではありません。先頭行を見出しとして扱います。セル内のコンマは引用符で囲み、引用符付きセルに引用符を含めるときは二重にします。パーサーは引用符内の改行を受け付けますが、列数の合わない行や重複する見出しは拒否します。そのため、42 や true に見える値も含め、JSON にした各セルの値は文字列になります。
データ形式の変更は、単に句読点を書き換えることではなく、二つの情報モデル間の対応付けです。まず、必要に応じて非 ASCII 文字、欠けたフィールド、入れ子の値を含む小さな代表レコードを用意してください。変換後、キー、順序、数値、null、配列、繰り返し項目がどう表現されるか確認します。変換先の形式に元の機能と同等の表現がない場合もあるため、個別の説明で対応する変換規則を確認してください。実例では「name,city Ada,Hello Lin,Welcome」が「[ { "name": "Ada", "city": "Hello" }, { "name": "Lin", "city": "Welcome" } ]」になります。見える語だけでなく区切り記号も読んでください。この小さな例は、この操作の実際の結果です。元データの気になる要素を一つ変え、結果の対応箇所を比較しましょう。user_id という CSV ヘッダーと、0012 を含む行を試すと、よくある取り込み時の落とし穴が分かります。JSON 出力では 0012 が正しく文字列として保持されますが、後で表計算ソフトが数値に変えてしまうことがあります。受け取り側のスキーマでは識別子を文字列とし、別の行で引用符付きの区切り文字も確認してください。
CSV の書き出し結果を JSON オブジェクトへ読み込み、API のテストなどで名前付きの列を調べるときに使えます。引用符で囲まれたコンマは一つのセルの中身で、二重の引用符は文字としての引用符を表します。42 や true を含め、取り込まれたセルはすべて文字列のままです。プロパティ名でレコードを照合する前に、見出しが一意で列数も揃っているか確認してください。大きな文書を扱う前に、元の CSV と結果を並べて既知の小さな例で試します。ファイルサイズや行数だけでなく、名前、引用符付きの文字列、非 ASCII 文字、改行、繰り返しフィールドの意味を比べてください。
ガイドを探す