我的节点应用程序收到此json:
Array (
[0] => '2017-02-22'
[1] => '2017-02-23'
[2] => '2017-04-03'
[3] => '2017-04-04'
[4] => '2017-04-05'
[5] => '2017-04-06'
)
现在,我用这段代码读了这个json:
{
"team":"Man UTD"
,"playersAndRoles":
{
"Pogba":["Midfielder"]
,"Martial":["Striker","Wing"]
,"Ibrahimovic":["Striker"]
}
}
但是,长度未定义。 JSON有效。但我不确定json代表数组的方式是否正确。 我可以修改JSON。如果是以错误的方式写的。
但收到的JSON似乎没问题。因为我可以这样做:
var jsonBody = req.body;
console.log('jsonBody.playersAndRoles.length', jsonBody.playersAndRoles.length);
所以我猜错误的部分是" playersAndRoles"宾语。这是对的吗?
PS:如果我尝试运行:
console.log('jsonBody.team', jsonBody.team); //Prints Man UTD
然后它会抛出一个例外。
答案 0 :(得分:0)
jsonBody.playersAndRole
不是数组。 jsonBody.playersAndRole
是对象。因此,如果你想将playerAndRole
作为数组,你必须像这样制作json。
{
"team":"Man UTD",
"playersAndRoles":[
{
"Pogba":[
"Midfielder"
]
},
{
"Martial":[
"Striker",
"Wing"
]
},
{
"Ibrahimovic":[
"Striker"
]
}
]
}