Javascript 为什么我不能将对变量的引用作为JSON属性的键传递?
当我试图将对POST请求正文的一部分的引用作为对象文本的键传递时,我试图找出我的node.js应用程序不喜欢它的原因。考虑以下事项:Javascript 为什么我不能将对变量的引用作为JSON属性的键传递?,javascript,json,node.js,Javascript,Json,Node.js,当我试图将对POST请求正文的一部分的引用作为对象文本的键传递时,我试图找出我的node.js应用程序不喜欢它的原因。考虑以下事项: //////////CODE SNIPPET //problem section of object "sort": [ { req.body.sortField: { "order": req.body.direction, "unmapped_type": "boolean"
//////////CODE SNIPPET
//problem section of object
"sort": [
{
req.body.sortField: {
"order": req.body.direction,
"unmapped_type": "boolean"
}
}
]
//////////REQUEST BODY
{
"fromDate": 1468213200000,
"toDate": 1468219300000,
"sortField": "#timestamp_milli",
"direction": "desc",
"columns": [
"*"
]
}
我可以通过引用将direction属性作为值传递,没有问题,但是当我尝试将sort属性作为键传递时,在运行应用程序时会出现错误:
req.body.sort: {
^
SyntaxError: Unexpected token .
我的猜测是,我不能将引用作为对象文本中的键传递。如果这是真的,为什么?这有什么办法吗?如果这不是真的,我在这里错误地理解了什么
谢谢你抽出时间
编辑:JSON和JavaScript对象文本之间的澄清。还有,我回答。谢谢大家 试试看
"sort": [
{
[req.body.sortField]: {
"order": req.body.direction,
"unmapped_type": "boolean"
}
}
]
编辑:对不起,我错过了那部分试试看
"sort": [
{
[req.body.sortField]: {
"order": req.body.direction,
"unmapped_type": "boolean"
}
}
]
编辑:很抱歉,我错过了这一部分,因为ES6可以提供动态键(这正是您想要的)。需要方括号的语法:
"sort": [
{
[req.body.sortField]: {
"order": req.body.direction,
"unmapped_type": "boolean"
}
}
]
请注意,这不是JSON,而是一个JavaScript对象文本。因为ES6可以有动态键(这似乎是您正在寻找的)。需要方括号的语法:
"sort": [
{
[req.body.sortField]: {
"order": req.body.direction,
"unmapped_type": "boolean"
}
}
]
请注意,这不是JSON,而是一个JavaScript对象文本。我假设您谈论的是对象文本,而不是JSON?JSON!==JavaScript。预期的结果是什么?我假设您讨论的是对象文本,而不是JSON?JSON!==JavaScript。预期结果是什么?我打赌他想要这个值,因为keyIt需要一些澄清,特别是关于他们的代码中没有JSON(但是JS对象文本)我打赌他想要这个值,因为keyIt需要一些澄清,特别是关于他们的代码中没有JSON(但是JS对象文本)修复了它,感谢您对JSON和JavaScript对象文字之间的澄清。WebStorm在使用方括号时告诉我“不支持计算属性”,但它仍然有效。奇怪。这就解决了这个问题,感谢您对JSON和JavaScript对象文字之间的澄清。WebStorm在使用方括号时告诉我“不支持计算属性”,但它仍然有效。奇怪的