在javascript对象中创建对象列表

时间:2017-01-26 15:30:27

标签: javascript arrays json object data-structures

当我尝试将json对象发布到java API后端时,我遇到以下问题。 post方法需要一个包含对象列表的Object。

是否可以在javascript对象中创建对象列表。我知道我们可以在Object中创建一个对象的“数组”。但就我而言,我需要的数据结构如下。

list of objects inside an Object

如果您注意到,assignToMap对象中的对象列表由 对组成,其中键是整数,值是数组。我确实尝试过,但我能找到的解决办法是在Object中创建一个对象数组,如下所示。

array of objects inside an Object - what i could achieve

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:2)

要创建您提到的结构,您可以使用JSON编写它:

{
  "assignToMap": {
    "123": [1, 2, 3, 4],
    "345": [1, 2, 3, 4],
    "678": [1, 2, 3, 4]
  }
}

虽然我不完全确定你在这里问的是什么!

答案 1 :(得分:1)

我相信你在谈论一个关联数组。使用花括号。这是一组关联数组。

var myArray = [
  { myKey1: "myValue1", myKey2: "myValue2", myKey3: "myValue3" },
  { myKey4: "myValue4", myKey5: "myValue5", myKey6: "myValue6" },
  { myKey7: "myValue7", myKey8: "myValue8", myKey9: "myValue9" }
]

答案 2 :(得分:1)

如果我理解你,你需要它“使用键上的整数将其设置为键:

assignToMap = {
   "123" : [1,2,3,4],
   "567" : [1,2,3,4]
}

答案 3 :(得分:1)

如果我正确理解您的问题,您只需要使用对象中的[]。请尝试以下方法:

var assignToMap = {};
assignToMap[123] = [1, 2, 3, 4];

我猜你正在尝试assignToMap.123并且遇到问题。

答案 4 :(得分:1)

是的,可以轻松实现。

见下文: -

var a = {};
a.assignToMap = [{
        58343: [
            22100,
            2495
        ]
    },
    {
        c: [
            1, 2, 3
        ]
    }
]

console.log(a)

如果你在firefox控制台中执行上述操作,它将显示对象的对象,而如果你运行相同的chrome控制台,它也会向你显示数组。不要担心它只是一个浏览器问题。

for chrome

firefox