如何在电子中显示 json 中的单个值
how to display a single value from json in electron
我有一个 Electron 应用程序,我在其中执行本地脚本并返回 json 输出。我可以显示所有 json 但我无法显示单个值。
HTML
中的脚本
<script type="text/javascript">
const { exec } = require("child_process");
const test = 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;
}
const test = (`data: ${stdout}`);
console.log(test);
});
</script>
在控制台日志中,我打印了这个
data: [
{
"address": "134JGdUZauF3c8zxF9yzipGdojv6XGSmW5exCDiQM1wWJfGXXXY",
"balance": 0.1,
"dc_balance": 0,
"sec_balance": 0.0
}
]
但我无法打印 balance
或 address
,无论我做什么总是 undefined
.
stdout
arg 包含子进程生成的输出(json 字符串)。它只是一个字符串。您需要解析 json 输出以获取数据:
try
{
const data = JSON.parse( stdout )
console.log( `Adress:${data[ 0 ].address}` )
}
catch( err )
{
throw Error( "Failed to parse json output.Reason:\n" + err )
}
我有一个 Electron 应用程序,我在其中执行本地脚本并返回 json 输出。我可以显示所有 json 但我无法显示单个值。
HTML
中的脚本<script type="text/javascript">
const { exec } = require("child_process");
const test = 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;
}
const test = (`data: ${stdout}`);
console.log(test);
});
</script>
在控制台日志中,我打印了这个
data: [
{
"address": "134JGdUZauF3c8zxF9yzipGdojv6XGSmW5exCDiQM1wWJfGXXXY",
"balance": 0.1,
"dc_balance": 0,
"sec_balance": 0.0
}
]
但我无法打印 balance
或 address
,无论我做什么总是 undefined
.
stdout
arg 包含子进程生成的输出(json 字符串)。它只是一个字符串。您需要解析 json 输出以获取数据:
try
{
const data = JSON.parse( stdout )
console.log( `Adress:${data[ 0 ].address}` )
}
catch( err )
{
throw Error( "Failed to parse json output.Reason:\n" + err )
}