Node.js中如何从xlsx模块返回双引号格式的JSON?
解决xlsx模块返回对象的键提取与JSON格式问题
首先澄清一个关键点:xlsx.utils.sheet_to_json返回的是JavaScript对象数组,不是JSON字符串。你看到的单引号、无引号键是Node.js打印对象时的格式,而非实际数据结构——Object.keys本来就可以直接作用于这些JS对象,不需要所谓的“双引号格式JSON”。
直接提取对象键
直接对返回的对象使用Object.keys即可,示例代码:
const XLSX = require('xlsx'); // 读取文件并解析工作表 const workbook = XLSX.readFile('你的文件.xlsx'); const targetSheet = workbook.Sheets[workbook.SheetNames[0]]; const sheetData = XLSX.utils.sheet_to_json(targetSheet); // 提取第一个对象的所有键 const keys = Object.keys(sheetData[0]); console.log(keys); // 输出 ["student_Id", "phone_number", "f_name", "l_name", "address"]
获取双引号格式的JSON字符串
如果确实需要输出或存储标准JSON格式(双引号键和值),用JSON.stringify转换即可:
const standardJson = JSON.stringify(sheetData, null, 2); console.log(standardJson); // 输出结果就是你需要的双引号格式: // [ // { // "student_Id": 1, // "phone_number": 87654321, // "f_name": "Barns", // "l_name": "Illinois", // "address": "Denmark kurkum mohao street 88 bldg. 29" // }, // { // "student_Id": 3, // "f_name": "Charlie" // } // ]
内容的提问来源于stack exchange,提问作者b_a9f
相关产品推荐
相关产品推荐

