Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 始终将JSON解析为数组_Javascript_Arrays_Node.js_Json - Fatal编程技术网

Javascript 始终将JSON解析为数组

Javascript 始终将JSON解析为数组,javascript,arrays,node.js,json,Javascript,Arrays,Node.js,Json,如何确保json变量始终是数组?在我的代码中,str有时是数组,有时不是。有没有办法确保它始终是一个数组 // array const str = '[{ "key": "value" }]'; const json = JSON.parse(str); console.log(json); // [{ // key: 'value' // }] // json const str = '{ "key": "value" }'; const json = JSON.parse(str);

如何确保json变量始终是数组?在我的代码中,str有时是数组,有时不是。有没有办法确保它始终是一个数组

// array
const str = '[{ "key": "value" }]';
const json = JSON.parse(str);
console.log(json);
// [{
//   key: 'value'
// }]

// json
const str = '{ "key": "value" }';
const json = JSON.parse(str);
console.log(json);

// {
//   key: 'value'
// }

// What I want to happen somehow
const str = '{ "key": "value" }';
const json = JSON.parse(str);
console.log(json);

// [{
//   key: 'value'
// }]
我可以使用instanceof检查json的类型,但我希望有一种使用spread的ES6方式?没有它的情况下发生给我一个带有str的数组,用括号括起来

您可以使用合并或包装已解析JSON的

const jsonObject='{key:value}'; const result1=[].concatJSON.parsejsonObject; console.logresult1; 常量jsonArray='[{key:value}]'; const result2=[].concatJSON.parsejsonArray; console.logresult2 您可以使用合并或包装已解析JSON的

const jsonObject='{key:value}'; const result1=[].concatJSON.parsejsonObject; console.logresult1; 常量jsonArray='[{key:value}]'; const result2=[].concatJSON.parsejsonArray;
console.logresult2 生成一个数组,然后将其平面映射,如果原始json是一个数组,则内部数组将被删除

常量str1='[{key:value}]'; 常量json1=[JSON.parsestr1].flatmappx=>x; console.logjson1; 常量str2='{key:value}'; 常量json2=[JSON.parsestr2].flatmappx=>x;
console.logjson2 生成一个数组,然后将其平面映射,如果原始json是一个数组,则内部数组将被删除

常量str1='[{key:value}]'; 常量json1=[JSON.parsestr1].flatmappx=>x; console.logjson1; 常量str2='{key:value}'; 常量json2=[JSON.parsestr2].flatmappx=>x; console.logjson2;