我在Javascript中有一个字典(dictionaryish)变量。
var dict = {
val1 : ["a", "b", "c"],
val2 : ["d", "e", "f"],
val3 : ["g", "h", "i"],
...
}
我希望能够将val1,val2,val3等添加到数组中,然后以JSON格式显示
{
"Configs" : [
"val1" : ["a", "b", "c"],
"val2" : ["d", "e", "f"],
"val3" : ["g", "h", "i"],
]
}
是否可以将这些键值对推入数组?如果是这样,我将如何调用这些值? arr[1].key()?
arr =
[
{val1 : ["a", "b", "c"]},
{val2 : ["d", "e", "f"]},
{val3 : ["g", "h", "i"]},
]
答案 0 :(得分:1)
我认为你想要的是这样的:
var dict = {
val1: ["a", "b", "c"],
val2: ["d", "e", "f"],
val3: ["g", "h", "i"],
}
var obj = {
Configs: []
};
for (var k in dict) {
if (dict.hasOwnProperty(k)) {
var o = {};
o[k] = dict[k];
obj.Configs.push(o);
}
}
alert(JSON.stringify(obj));

这将为您提供一个如下所示的对象:
{
"Configs" : [
{ "val1" : ["a", "b", "c"] },
{ "val2" : ["d", "e", "f"] },
{ "val3" : ["g", "h", "i"] },
]
}
如果您希望能够使用特定键(例如val2
)从数组中检索项目,那么您必须在数组中搜索具有{{1}的项目钥匙。如果您需要对该集合的这种访问权限,那么您不清楚为什么首先要从字典中对其进行转换。