最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用純JS實(shí)現(xiàn)JSON轉(zhuǎn)CSV的技巧全攻略

 更新時(shí)間:2025年06月26日 08:32:25   作者:燭陰  
在數(shù)據(jù)處理和導(dǎo)出方面,JSON 和 CSV 格式是兩個(gè)常見的角色,今天,我們將介紹如何在純 JavaScript 中,利用開源庫 @json2csv/plainjs 輕松實(shí)現(xiàn)從 JSON 轉(zhuǎn)換到 CSV,幫助你高效處理數(shù)據(jù),需要的朋友可以參考下

引言

在數(shù)據(jù)處理和導(dǎo)出方面,JSON 和 CSV 格式是兩個(gè)常見的角色。JSON(JavaScript Object Notation)以其良好的可讀性和靈活性被廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)和傳輸,而CSV(Comma-Separated Values)則因其簡潔易讀、方便導(dǎo)入到各種表格軟件中而深受歡迎。今天,我們將介紹如何在純 JavaScript 中,利用開源庫 @json2csv/plainjs 輕松實(shí)現(xiàn)從 JSON 轉(zhuǎn)換到 CSV,幫助你高效處理數(shù)據(jù)。

一、什么是 @json2csv/plainjs?

@json2csv/plainjsjson2csv 的一種輕量版(純原生 JS 實(shí)現(xiàn)),無需依賴任何第三方庫或環(huán)境(比如 Node.js 特定模塊),非常適合瀏覽器或純 JS 環(huán)境下使用。

主要功能:

  • 將 JSON 對象或數(shù)組轉(zhuǎn)換成 CSV 格式
  • 支持自定義字段和格式
  • 簡單易用,無復(fù)雜配置

二、基礎(chǔ)用法:將簡單 JSON 轉(zhuǎn)為 CSV

示例:轉(zhuǎn)換一組用戶數(shù)據(jù)

import { Parser } from '@json2csv/plainjs';

// 示例數(shù)據(jù)
const myData = [
    { name: 'John', age: 30, city: 'New York' },
    { name: 'Jane', age: 25, city: 'Los Angeles' },
    { name: 'Doe', age: 35, city: 'Chicago' }
];

// 基本轉(zhuǎn)換示例
try {
    const basicOpts = {};
    const basicParser = new Parser(basicOpts);
    const basicCsv = basicParser.parse(myData);
    console.log('基本轉(zhuǎn)換結(jié)果:');
    console.log(basicCsv);
} catch (err) {
    console.error('基本轉(zhuǎn)換出錯(cuò):', err);
}

輸出:

"name","age","city"
"John",30,"New York"
"Jane",25,"Los Angeles"
"Doe",35,"Chicago"

說明

  • parse() 方法將數(shù)組中的每個(gè)對象作為一行
  • 默認(rèn)會(huì)提取所有對象的所有鍵作為字段名

三、定制轉(zhuǎn)換:選擇特定字段

我們可以通過 fields 選項(xiàng),指定輸出哪些字段,保證輸出內(nèi)容的可控性。

示例:只導(dǎo)出 name 和 email

import { Parser } from '@json2csv/plainjs';

const users = [
    { name: 'Alice', age: 30, email: 'alice@example.com' },
    { name: 'Bob', age: 25, email: 'bob@example.com' }
];

const customOpts = { fields: ['name', 'email'] };
const customParser = new Parser(customOpts);
const csv = customParser.parse(users);
console.log(csv);

輸出:

name,email
Alice,alice@example.com
Bob,bob@example.com

說明

  • 只提取配置中列出的字段,支持自定義順序

四、深入:使用復(fù)雜參數(shù)定制格式

@json2csv/plainjs 提供多種選項(xiàng),幫助你控制輸出格式。

1. 自定義字段標(biāo)題

import { Parser } from '@json2csv/plainjs';

const users = [
    { name: 'Alice', age: 30, email: 'alice@example.com' },
    { name: 'Bob', age: 25, email: 'bob@example.com' }
];

const fields = [
    { label: '姓名', value: 'name' },
    { label: '年齡', value: 'age' }
];

const customOpts = { fields };
const customParser = new Parser(customOpts);
const csv = customParser.parse(users);
console.log(csv);

輸出:

姓名,年齡
Alice,30
Bob,25

2. 添加換行符和其他格式控制

除了基本功能,你還可以通過選項(xiàng)調(diào)整字段分隔符、換行符等。

import { Parser } from '@json2csv/plainjs';

const users = [
    { name: 'Alice', age: 30, email: 'alice@example.com' },
    { name: 'Bob', age: 25, email: 'bob@example.com' }
];

const fields = [
    { label: '姓名', value: 'name' },
    { label: '年齡', value: 'age' }
];

const options = {
    fields,
    delimiter: ';', // 使用分號(hào)作為字段分隔符
    eol: '\r\n'     // 換行符使用 Windows 風(fēng)格
    
};

const customParser = new Parser(options);
const csv = customParser.parse(users);
console.log(csv);

五、實(shí)戰(zhàn)案例:導(dǎo)出嵌套JSON

假設(shè)你的 JSON 中包含嵌套對象,如何處理?

import { Parser } from '@json2csv/plainjs';

const data = [
    {
        id: 1,
        name: 'Alice',
        address: { city: 'Beijing', street: 'Chao Yang' }
    },
    {
        id: 2,
        name: 'Bob',
        address: { city: 'Shanghai', street: 'Pudong' }
    }
];

// 通過指定字段的路徑,將嵌套對象扁平化
const fields = [
    { label: 'ID', value: 'id' },
    { label: '名稱', value: 'name' },
    { label: '城市', value: 'address.city' },
    { label: '街道', value: 'address.street' }
];

const customParser = new Parser({fields});
const csv = customParser.parse(data);
console.log(csv);

輸出:

ID,名稱,城市,街道
1,Alice,Beijing,Chao Yang
2,Bob,Shanghai,Pudong

結(jié)語

到此這篇關(guān)于利用純JS實(shí)現(xiàn)JSON轉(zhuǎn)CSV的技巧全攻略的文章就介紹到這了,更多相關(guān)JavaScript JSON轉(zhuǎn)CSV內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

定南县| 石泉县| 响水县| 沅陵县| 兴义市| 新乡市| 汉源县| 衡阳市| 金乡县| 镇康县| 平果县| 蓬溪县| 杭州市| 手机| 龙里县| 渝中区| 平顶山市| 萨迦县| 泰兴市| 巴彦淖尔市| 广南县| 栾城县| 扶沟县| 晋宁县| 五寨县| 乐平市| 荆州市| 长兴县| 九江市| 三都| 乐东| 赤城县| 建昌县| 六盘水市| 武汉市| 建瓯市| 富裕县| 绥阳县| 化德县| 文昌市| 濮阳县|