[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-node在node中轉換json成csvjson-to-csv":3},{"id":4,"slug":5,"title":6,"description":7,"content":8,"date":9,"image":10,"imageAlt":6,"author":11,"categories":14,"path":17,"minRead":18},3344,"node在node中轉換json成csvjson-to-csv","[Node]在node中轉換JSON成CSV(JSON to CSV)","在node中轉換JSON成CSV(JSON to CSV) 新年快樂！這篇純粹做一個小筆記，常常做資料處理的話 […]","\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fapi\u002Fproxy-image?url=https%3A%2F%2Fpost.billxu.net%2Fwp-content%2Fuploads%2F2023%2F01%2F640px-Node.js_logo.svg.png\" alt=\"\" \u002F>\u003C\u002Fp>\n\u003Ch1>在node中轉換JSON成CSV(JSON to CSV)\u003C\u002Fh1>\n\u003Cp>新年快樂！這篇純粹做一個小筆記，常常做資料處理的話一定很常遇到這類需求，將JSON轉換成CSV(JSON to CSV)，當然也會有反過來的狀況，那就有機會再寫吧XD\u003C\u002Fp>\n\u003Cp>我這次採用json-2-csv這個套件，本篇就整理一下json-2-csv的用法囉。\u003C\u002Fp>\n\u003Ch2>安裝套件\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-node\">$ npm install json-2-csv --save\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>基本用法\u003C\u002Fh2>\n\u003Cp>範例如下，以下範例接用require引入\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-node\">\u002F\u002F require json-2-csv module\nconst converter = require(&#039;json-2-csv&#039;)\n\n\u002F\u002F 定義一個JSON資料\nconst rawJson = [\n  {\n    id: 1,\n    title: &#039;標題1&#039;,\n    description: &#039;標題1的敘述&#039;\n  },\n  {\n    id: 1,\n    title: &#039;標題3&#039;,\n    description: &#039;標題3的敘述&#039;\n  },\n  {\n    id: 3,\n    title: &#039;標題3&#039;,\n    description: &#039;標題3的敘述&#039;\n  }\n]\n\n\u002F\u002F 轉換JSON到CSV中的欄位字串\nconverter.json2csv(rawJson, (err, csv) =&gt; {\n  if (err) {\n    throw err\n  }\n\n  \u002F\u002F 輸出CSV字串資料\n  console.log(csv)\n  \u002F*會長這樣\n    id,title,description\n    1,標題1,標題1的敘述\n    2,標題2,標題2的敘述\n    3,標題3,標題3的敘述\n  *\u002F\n})\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>輸出CSV檔案\u003C\u002Fh2>\n\u003Cp>使用fs輸出字串就可以囉\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-node\">const fs = require(&#039;fs&#039;)\n...\n...\n\u002F\u002F 轉換JSON到CSV中的欄位字串\nconverter.json2csv(rawJson, (err, csv) =&gt; {\n  if (err) {\n    throw err\n  }\n\n  \u002F\u002F 輸出CSV字串資料\n  console.log(csv)\n\n  \u002F\u002F 輸出CSV檔案\n  fs.writeFileSync(&#039;json2csv.csv&#039;, csv)\n})\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>從檔案讀取JSON\u003C\u002Fh2>\n\u003Cpre>\u003Ccode>\u002F\u002F 從檔案讀取JSON\nconst todos = JSON.parse(fs.readFileSync(&#039;rawJson.json&#039;))\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>await寫法\u003C\u002Fh2>\n\u003Cpre>\u003Ccode>\u002F\u002F 轉換JSON到CSV中的欄位字串\n(async () =&gt; {\n  try {\n    const csv = await converter.json2csvAsync(todos)\n\n    \u002F\u002F 輸出CSV字串資料\n    console.log(csv)\n\n    \u002F\u002F 輸出CSV檔案\n    fs.writeFileSync(&#039;json2csv.csv&#039;, csv)\n  } catch (err) {\n    console.log(err)\n  }\n})()\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>json-2-csv非常簡單使用，參考文件在\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmrodrig\u002Fjson-2-csv\" title=\"這邊\">這邊\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>那就祝大家新年快樂囉！\u003C\u002Fstrong>\u003C\u002Fp>\n","2023-01-19T11:00:06","\u002Fapi\u002Fproxy-image?url=https%3A%2F%2Fpost.billxu.net%2Fwp-content%2Fuploads%2F2023%2F01%2F640px-Node.js_logo.svg.png",{"name":12,"link":13},"Chih Fan","http:\u002F\u002Fpost.billxu.net",[15],{"name":16,"slug":16},"node","\u002Fblog\u002Fnode在node中轉換json成csvjson-to-csv",1]