【发布时间】:2018-03-29 07:31:17
【问题描述】:
我将 JSON 转换为一个数组,然后再转换为单独的 JSON 对象(它与 React 和子对象有关)。下面的数组工作正常,将数组元素放入 vars 也是如此。但是当我尝试从它们中创建一个 obj 时,密钥不起作用,它只是保持为“myKey” - 为什么?将数组元素转换为对象的正确方法是什么?
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var fetch = require('isomorphic-fetch');
app.use(bodyParser.json());
app.use(methodOverride());
var promise = new Promise(function(resolve, reject) {
fetch('https://jsonplaceholder.typicode.com/posts/1').then(
function(response){
return response.json();
}
).then(function(jsonData){
result = []
for(var i in jsonData) {
result.push([i, jsonData [i]]);
}
var myKey = result[0][0];
var myValue = result[0][1];
var myJSON = {myKey : myValue}
console.log(myJSON);
});
});
【问题讨论】:
-
var myJSON = { [myKey]: myValue}; -
我从未想到过这种语法。只是错过了。我试图使用更多 {} 但这在这种情况下不起作用。好的,谢谢大家。
-
请注意,它不适用于旧 JavaScript 环境,例如旧浏览器或旧手机。在这些环境中,您必须使用单独的赋值语句来完成。
标签: javascript arrays node.js reactjs