欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

引言

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

一、什么是 @json2csv/plainjs?

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

主要功能:

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

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

示例:轉(zhuǎn)換一組用戶(hù)數(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"

說(shuō)明

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

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

我們可以通過(guò) 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

說(shuō)明

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

四、深入:使用復(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. 添加換行符和其他格式控制

除了基本功能,你還可以通過(guò)選項(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 中包含嵌套對(duì)象,如何處理?

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' }
    }
];

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

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

輸出:

ID,名稱(chēng),城市,街道
1,Alice,Beijing,Chao Yang
2,Bob,Shanghai,Pudong

結(jié)語(yǔ)

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

相關(guān)文章

  • JS實(shí)現(xiàn)無(wú)限輪播無(wú)倒退效果

    JS實(shí)現(xiàn)無(wú)限輪播無(wú)倒退效果

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)無(wú)限輪播無(wú)倒退效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 微信小程序?qū)崿F(xiàn)多選框全選操作

    微信小程序?qū)崿F(xiàn)多選框全選操作

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多選框全選操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單

    JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單

    我們?cè)谔詫?、搜狐等大型網(wǎng)站上都可以看到使用的一些二級(jí)下拉菜單,比如下面這張圖片。那么如何實(shí)現(xiàn)導(dǎo)航菜單欄中的二級(jí)下拉菜單呢?下面小編給大家分享JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單,感興趣的朋友一起看看吧
    2016-10-10
  • js+css3實(shí)現(xiàn)炫酷時(shí)鐘

    js+css3實(shí)現(xiàn)炫酷時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了js+css3實(shí)現(xiàn)炫酷時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • innerHTML,outerHTML,innerTEXT三者之間的區(qū)別

    innerHTML,outerHTML,innerTEXT三者之間的區(qū)別

    innerHTML,outerHTML,innerTEXT三者之間的區(qū)別...
    2007-01-01
  • js中apply方法的使用詳細(xì)解析

    js中apply方法的使用詳細(xì)解析

    本文是對(duì)js中apply方法的使用進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • 正則表達(dá)式替換html元素屬性的方法

    正則表達(dá)式替換html元素屬性的方法

    下面小編就為大家?guī)?lái)一篇正則表達(dá)式替換html元素屬性的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • 微信小程序圖片自適應(yīng)實(shí)現(xiàn)解析

    微信小程序圖片自適應(yīng)實(shí)現(xiàn)解析

    這篇文章主要介紹了微信小程序圖片自適應(yīng)實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • JavaScript onclick事件使用方法詳解

    JavaScript onclick事件使用方法詳解

    這篇文章主要介紹了JavaScript onclick事件使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序原理

    js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序原理

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序的原理,感興趣的小伙伴們可以參考一下
    2016-03-03

最新評(píng)論