如何在Electron中提取并展示JSON返回结果中的单个字段值
解决方案
问题核心原因有两个:
stdout返回的是纯字符串格式,你没有将其解析为JSON对象,因此无法直接读取内部字段- 脚本输出的JSON是数组包裹对象的结构,解析完成后需要先取数组第0位才能拿到存储字段的目标对象
修正后的可正常提取字段的代码如下:
const { exec } = require("child_process"); exec("cd /home/user/Desktop/Wallet && ./wallet --format json balance", (error, stdout, stderr) => { if (error) { console.log(`error: ${error.message}`); return; } if (stderr) { console.log(`stderr: ${stderr}`); return; } // 去除stdout首尾空白后解析为JSON对象 const walletData = JSON.parse(stdout.trim()); // 取数组第0位的对象 const walletInfo = walletData[0]; // 单独提取字段打印 console.log("address:", walletInfo.address); console.log("balance:", walletInfo.balance); });
补充说明:如果需要兼容异常场景,可以给
JSON.parse包裹try/catch块,避免解析失败导致程序崩溃。
内容的提问来源于stack exchange,提问作者mar24n
相关产品推荐
相关产品推荐

