Eru*_*ant 7 javascript jquery json
我想创建一个json
作为post数组发送的对象,但我需要动态创建密钥
var id = $('#myInput').val();
var post = {
'product[123]': 'myValue', // this works fine - but isn't dynamic
'product['+id+']': 'myValue' // this does not work
}
Run Code Online (Sandbox Code Playgroud)
将其作为字符串发送工作正常,但是当我想让它更具动态性时,我遇到了问题.我在这里遗漏了一些非常简单的东西,还是我想做一些Javascript不应该做的事情?
T.J*_*der 17
(请注意,这已经无关JSON.您没有使用JSON那里,你正在使用的对象初始化.JSON是文本(不是代码)格式,这是一个子集, JavaScript的对象初始化语法的.)
使用[]
符号在对象初始值设定项之外执行:
var id = $('#myInput').val();
var post = {};
post[product[id]] = 'myValue';
Run Code Online (Sandbox Code Playgroud)
这将获取(在运行时)的值product[id]
并将其用作属性的键.如果你想关键字面上是product[123]
当id
是123
,你会用这个来代替:
post['product[' + id + ']'] = 'myValue';
Run Code Online (Sandbox Code Playgroud)
更通用的讨论:
var a = "foo";
var obj = {};
obj[a] = "bar";
console.log(obj.foo); // "bar"
Run Code Online (Sandbox Code Playgroud)
JavaScript允许您以两种方式指定属性键:使用点分表示法和文字(obj.foo
),或使用括号表示法和字符串(obj["foo"]
).在后一种情况下,字符串不必是字符串文字,它可以是任何表达式的结果.
归档时间: |
|
查看次数: |
13105 次 |
最近记录: |