无需登录 数据私有 本地保存

JSON转CSV工具 - 在线JSON数据导出表格

87
0
0
0
JSON(JavaScript Object Notation):一种轻量级的数据交换格式,基于JavaScript对象字面量语法的子集。JSON使用键值对(Key-Value Pairs)组织数据,键名必须是字符串(用双引号包裹),值可以是字符串、数值、布尔值、null、数组或嵌套对象。JSON格式易于人阅读和编写,也易于机器解析和生成,已成为Web API数据传输的事实标准。 CSV(Comma-Separated Values):一种简单的纯文本表格数据格式,每行代表一条记录,字段之间使用分隔符(默认为逗号)分隔。CSV是电子表格软件和数据库之间数据交换的通用格式,几乎所有数据处理工具都原生支持CSV格式。 嵌套(Nesting):JSON数据结构中对象包含对象、或数组包含对象的层级组织方式。嵌套可以有多层深度,形成树状的数据结构。嵌套使得JSON能够表达复杂的关联数据关系,但也增加了转换为扁平表格格式的复杂度。 展平(Flattening):将嵌套的层级数据结构转换为扁平的二维表格结构的过程。在JSON转CSV的上下文中,展平是指将嵌套的键路径展开为以点号连接的扁平列标题,使每个叶子节点(最终值)对应CSV中的一列。 点号表示法(Dot Notation):一种使用点号(.)连接多级键名的命名约定。例如,嵌套字段address.city在点号表示法下表示为address.city。这种表示法在展平嵌套JSON时用于生成CSV列标题,既保留了原始结构的层级信息,又满足了CSV列标题必须是扁平字符串的要求。 联合键(Union Keys):在处理不一致对象数组时,所有对象中出现过的键名的并集。联合键处理策略确保生成的CSV包含所有可能的列,每个对象的缺失字段用空值填充,从而保证数据的完整性和CSV结构的规整性。 不一致对象(Inconsistent Objects):同一个JSON数组中,不同对象包含不同的键集合的情况。这种情况在真实数据中很常见,通常由于API响应中某些字段是可选的、或来自不同数据源的数据合并所导致。 UTF-8(Unicode Transformation Format - 8-bit):一种可变长度的字符编码标准,能够表示Unicode标准中的所有字符。UTF-8使用1到4个字节编码一个字符,ASCII字符使用1个字节,中文等多字节字符使用3个字节。UTF-8是互联网上最广泛使用的字符编码。 BOM(Byte Order Mark):字节顺序标记,是文件开头的特殊字节序列,用于标识文件的编码格式。UTF-8的BOM是三个字节:0xEF、0xBB、0xBF。BOM的主要作用是帮助软件(特别是Microsoft Excel)正确识别UTF-8编码的文本文件,避免乱码问题。 分隔符(Delimiter):CSV文件中用于分隔不同字段值的特殊字符。最常用的分隔符是逗号(,),此外还有制表符(\t)、分号(;)和管道符(|)等。分隔符的选择影响CSV文件的可读性和兼容性。 引用(Quoting):在CSV字段值外层添加引号字符(通常是双引号")的做法。引用的目的是处理字段值中包含分隔符、换行符等特殊字符的情况,防止这些特殊字符导致CSV解析错误。 Blob(Binary Large Object):Web API中用于表示二进制数据的对象。在CSV文件下载场景中,生成的CSV文本被包装为Blob对象,然后通过URL.createObjectURL()创建下载链接触发浏览器下载。 FileReader API:HTML5提供的用于异步读取用户本地文件内容的Web API。本工具使用FileReader的readAsText()方法读取用户上传的JSON文件,整个读取过程在浏览器本地完成,不涉及任何网络传输。 Blob URL:通过URL.createObjectURL()方法为Blob对象创建的临时URL,格式为blob:http://...。Blob URL仅在当前页面会话中有效,用于触发文件下载或在页面中显示二进制内容。 递归遍历(Recursive Traversal):一种编程算法技术,函数在其执行过程中调用自身。在嵌套JSON展平中,递归遍历用于逐层深入嵌套结构,直到到达叶子节点(最终值),然后将路径信息传递回上层用于构建列标题。