有没有更好的方法将json数组合并为一个数组


//working with vmware software
//so I can't use any JS library or python(i can but the method is harder there)
var env1ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput1"},{"somevalue":"stringified_jsonOuput1"}]';
var env2ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput2"},{"somevalue":"stringified_jsonOuput2"}]';
var env3ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput3"},{"somevalue":"stringified_jsonOuput3"}]';
function rmvBrackets (){
var newJson = [];
for (var i=0; i<arguments.length; i++){
var txt = arguments[i].replace(/([|])/g,'');
newJson.push(txt);
}
return newJson;
};
var allResults = rmvBrackets(env1ScriptOutput,env2ParsedScriptOutput,env3ParsedScriptOutput).toString();
var allScriptExecParsedOutput = '['+allResults+']'; //final return, this will be processed on another object

有人能帮助我并启发我吗。这是我用try-and-fail方法编写的代码。我知道一定有更好的方法可以做到这一点,但我刚刚开始用JS 编码

您的JSON.parse返回数组和Spread运算符,如此

var env1ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput1"},{"somevalue":"stringified_jsonOuput1"}]';
var env2ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput2"},{"somevalue":"stringified_jsonOuput2"}]';
var env3ParsedScriptOutput='[{"somevalue":"stringified_jsonOuput3"},{"somevalue":"stringified_jsonOuput3"}]';
let results = [
...JSON.parse(env1ParsedScriptOutput),
...JSON.parse(env2ParsedScriptOutput),
...JSON.parse(env3ParsedScriptOutput)
];
console.log(results);

我会将其连接起来,并应用Json.parse将其转换为数组。

然后使用flat((将其压平。

var env1ParsedScriptOutput =
'[{"somevalue":"stringified_jsonOuput1"},{"somevalue":"stringified_jsonOuput1"}]';
var env2ParsedScriptOutput =
'[{"somevalue":"stringified_jsonOuput2"},{"somevalue":"stringified_jsonOuput2"}]';
var env3ParsedScriptOutput =
'[{"somevalue":"stringified_jsonOuput3"},{"somevalue":"stringified_jsonOuput3"}]';
const concat = `[${env1ParsedScriptOutput},${env2ParsedScriptOutput},${env3ParsedScriptOutput}]`;
const output = JSON.parse(concat).flat();
console.log(output);

最新更新