【发布时间】:2020-09-20 00:41:36
【问题描述】:
我正在尝试获取 JSON 数组并显示完整的输出,但格式很好。 (见注释掉的部分)不幸的是,JSON 数组返回 OBJECT 然后是它的输出。所以我通过字符串化来修复我得到的 [Object, Object] 错误。但现在一切都在一条线上。如何遍历数组并将它们放在新行上?
我遇到的第二个问题是,我无法执行您在未注释部分中注意到的 3 个相同的功能。我想取每个result 并在它们之间添加一个新行。
function setTitleStatus(context, settings) {
$SD.api.setTitle(context, "Updating...");
getResults(result => resultCallback(result, context));
}
function resultCallback(result, context) {
if (!result.hasOwnProperty("Object")) {
$SD.api.setTitle(context, JSON.stringify(result));
console.log(JSON.stringify(result, '%c%s'));
return;
}
// This is where I'd like all 3 objects to be split on new lines.
// $SD.api.setTitle(context, result.Platform.replace(new RegExp(' ', 'g'), '\n') +
// "\n" + result.Platform + " ")
// $SD.api.setTitle(context, result.PU.replace(new RegExp(' ', 'g'), '\n') +
// "\n" + result.PU + " ")
// $SD.api.setTitle(context, result.EA.replace(new RegExp(' ', 'g'), '\n') +
// "\n" + result.EA + " ")
}
function getResults(updateTitleFn) {
let endPoint = "https://status.robertsspaceindustries.com/static/content/api/v0/systems.en.json";
$.getJSON(endPoint)
.done(function (response) {
updateTitleFn({
"Platform": response[0].status,
"PU": response[1].status,
"EA": response[2].status,
});
console.log("Platform", response[0].status)
console.log("PU", response[1].status)
console.log("EA", response[2].status)
})
}
更新
如果我取消注释这些部分,这就是它显示的内容。很难说,但发生的事情是,它替换了setTitle 三次,并取了最后一行。 $SD.api.setTitle(context, result.EA.replace(new RegExp(' ', 'g'), '\n') +
"\n" + result.EA + " ")
通过截图
【问题讨论】:
-
我认为注释代码是您需要帮助修复的内容。如果您取消注释,您的应用会显示什么?你希望它以不同的方式显示什么?请显示一些屏幕截图。
-
你好。我已经更新了我的 cmets,@Code-Apprentice 希望它有意义。我希望它显示“平台运行\n PU 性能下降\n EA 运行”
-
要使用多行和缩进输出进行字符串化,请使用
JSON.stringify(myObject, null, 2)。如果您不想缩进,请省略“2”。 -
谢谢! @terrymorse
标签: javascript arrays json streamdeck