Javascript 在StreamDeckSDK中正确解析新行上的Json数组
我试图获取一个JSON数组并显示完整的输出,但是格式很好。(请参阅注释部分)不幸的是,JSON数组返回对象,然后返回其输出。因此,我将字符串化以修复我得到的[Object,Object]错误。但现在一切都在一条线上。如何迭代数组并将它们放在新行上 我遇到的第二个问题是,我无法执行您在未注释部分中注意到的3个相同的函数。我想获取每个Javascript 在StreamDeckSDK中正确解析新行上的Json数组,javascript,arrays,json,streamdeck,Javascript,Arrays,Json,Streamdeck,我试图获取一个JSON数组并显示完整的输出,但是格式很好。(请参阅注释部分)不幸的是,JSON数组返回对象,然后返回其输出。因此,我将字符串化以修复我得到的[Object,Object]错误。但现在一切都在一条线上。如何迭代数组并将它们放在新行上 我遇到的第二个问题是,我无法执行您在未注释部分中注意到的3个相同的函数。我想获取每个结果,并在它们之间添加一行新行 function setTitleStatus(context, settings) { $SD.api.setT
结果
,并在它们之间添加一行新行
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(上下文,result.EA.replace(新的RegExp(''g'),'\n'))+
“\n”+result.EA+”)
通过截图
要从
JSON.stringify获得格式良好的输出,请提供可选参数:
JSON.stringify(obj, null, 2)
让arr=[“菠萝”、“柠檬”、“苹果”、“橙子”、“桃子”];
document.getElementById('result').innerHTML=
'Stringify default:'+JSON.Stringify(arr)+'\n\n'+
'Stringify formatted:'+JSON.Stringify(arr,null,2);
我假设注释的代码就是您需要帮助修复的代码。如果你取消注释,你的应用程序会显示什么?您希望它以不同的方式显示什么?请出示一些截图。你好。我已经更新了我的评论,@Code学徒希望它有意义。我希望它显示“平台操作\n PU性能降级\n EA操作”要使用多行和缩进输出进行字符串化,请使用JSON.stringify(myObject,null,2)
。如果您不想缩进,请省略“2”。谢谢@恐怖的