以下是我们如何在脚本中轻松地将 JSON 转换为 CSV:
这将是 CSV 输出:
了解步骤
我们创建了一个可重用的函数,让我们将多个 JSON 字符串转换为 CSV。它采用一个包含对象的数组。每个对象将在 CSV 输出中占用一行。jsonToCsv()
我们在此函数中执行的第一个操作是获取将用于 CSV 标头的所有密钥。我们希望数组中的所有对象都具有相同的键,因此我们使用 Object.keys() 方法将第一个对象项中的键提取到数组中。
获取密钥后,我们在数组上调用 join() 方法,将所有元素连接成 CSV 标头字符串。
接下来,我们创建一个函数,该函数将作为回调传递给 JSON.stringify() 函数的替换符参数。此函数将处理或属性 JSON 数组中对象的值。undefined null
然后,我们使用 Array map() 方法从每个对象获取属性值。 采用在每个数组元素上调用的回调函数以返回转换。map()
此回调使用数组获取每个对象的所有键。通过对 的另一次调用,它会遍历每个键,获取对象中该键的相应值,并使用 JSON.stringify() 将其转换为字符串。headermap()
此内部调用最终将生成一个数组,其中包含数组中当前对象的所有字符串化属性值。map()
将对象转换为属性值数组后,将使用 join() 将数组转换为 CSV 行。
因此,JSON 数组中的每个对象都会进行此转换,以生成存储在原始示例中的变量中的 CSV 行列表。rowItems
为了生成最终的 CSV 输出,我们将 和 组合成一个数组,使用扩展语法 ()。headerString rowItems...
然后,我们在此数组上调用 join(),并将字符串作为分隔符,以创建一个字符串,其中包含 CSV 标头,每个 CSV 行位于单独的行中。'\r\n'