首页 > web前端 > js教程 > 正文

将 JSON 导出为 CSV:关于 CSV 和 Unicode 的说明

PHPz
发布: 2024-07-27 08:31:19
转载
767人浏览过

将 json 导出为 csv:关于 csv 和 unicode 的说明

有多个JS库允许导出到excel。但是,如果我们想遵循极简主义方法来避免额外的依赖,该怎么办?

最简单的方法是从 JSON 生成 CSV,可以轻松在 Excel 中打开。

但是在展示转换逻辑之前,让我们先了解一下 CSV 是什么以及创建 CSV 文件时我们将使用哪种编码。

CSV 格式

此 RFC 4180 逗号分隔值 (CSV) 文件的通用格式和 MIME 类型指定了 CSV 格式的定义。请注意,这只是一个备忘录,因为 CSV 格式尚未正式标准化。

主要定义

  1. 每条记录位于单独的行上,由换行符 (CRLF) 分隔。
  2. 文件中的最后一条记录可能有也可能没有结束换行符。
  3. 标头应在整个文件中包含相同数量的字段。
  4. 每个字段可以用双引号括起来,也可以不用双引号括起来。
  5. 包含换行符(CRLF)、双引号和逗号的字段应该用双引号括起来。
  6. 如果使用双引号括住字段,则字段内出现的双引号必须通过在其前面加上另一个双引号来转义。

编码

在我的 JSON 数据中,我有来自 ISO Latin-1 (ISO/IEC 8859-1) 字符集的字符 æ å ø,在创建 csv 文件时必须考虑这些字符。

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30
查看详情 Find JSON Path Online

需要考虑的 Unicode® 标准版本 15.0 的一些摘录。

Unicode 与 UTF-8/16/32

来自 Unicode® 标准版本 15.0:

  • Unicode 是书面字符和文本的通用字符编码标准,包含世界文字中的 149,186 个字符。
  • Unicode 字符以三种编码形式之一表示:32 位形式 (UTF-32)、16 位形式 (UTF-16) 和 8 位形式 (UTF-8)。
  • Unicode 联盟完全认可使用三种 Unicode 编码形式中的任何一种作为实现 Unicode 标准的一致方式。例如,重要的是不要陷入试图区分“UTF-8 与 Unicode”的陷阱。 UTF-8、UTF-16 和 UTF-32 都是实现 Unicode 标准编码字符的同等有效且一致的方式。

字节顺序标记 (BOM)

  • 用于字节顺序标记的字符 U+FEFF (UTF-8 EF BB BF) 被命名为零宽度不间断空格。
  • Unicode 纯文本的 UTF-16 和 UTF-32 编码形式对将数据写入文件时使用的字节顺序敏感。
  • 识别a开头的字节序列 数据流可以视为数据流正在使用 UTF-8 编码方案的近乎确定的指示。

简而言之,在 CSV 字符串之前添加零宽度不间断空格将强制 Excel 应用 UTF-8 编码而不是 1252:西欧 (Windows) 或 Excel 将选择的其他编码,以防 U+FEFF 字符不是提供.

我将在本系列的下一篇文章中展示使用零宽度不间断空格生成 CSV 文件和不使用零宽度不间断空格的 CSV 文件之间的区别...

以上就是将 JSON 导出为 CSV:关于 CSV 和 Unicode 的说明的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号