2
我有一個的node.js服務器正在接收此JSON對象作爲一個看跌BodyParser解析:JSON對象嵌套在node.js中
{
stats = {
abdominal=0,
bicep=0,
deltoids=0,
erector_spinae=0,
gastro_soleus=0,
gluteus=0,
hamstrings=0,
lat_dor_rhom=0,
obliques=0,
pectoralis=0,
quadriceps=0,
trapezius=0,
triceps=0
},
name=Name,
_id=userid,
level=1,
experience=200
}
我使用此代碼塊,試圖訪問數據:
user.name = req.body.name;
user.level = req.body.level;
user.experience = req.body.experience;
user.stats = {
abdominal: req.body.stats["abdominal"],
bicep: req.body.stats["bicep"],
deltoids: req.body.stats["deltoids"],
erector_spinae: req.body.stats["erector_spinae"],
gastro_soleus: req.body.stats["gastro_soleus"],
gluteus: req.body.stats["gluteus"],
hamstrings: req.body.stats["hamstrings"],
lat_dor_rhom: req.body.stats["lat_dor_rhom"],
obliques: req.body.stats["obliques"],
pectoralis: req.body.stats["pectoralis"],
quadriceps: req.body.stats["quadriceps"],
trapezius: req.body.stats["trapezius"],
triceps: req.body.stats["triceps"]
};
名稱,級別和經驗值更新得很好,但訪問stats對象的成員似乎不工作。當我做一個簡單的console.log(req.body["stats"]["abdominal"]);
時,我得到一個undefined
。 console.log(req.body["stats"]);
確實有效,並打印出整個對象。任何想法爲什麼訪問這些變量不起作用?
你所描述的「JSON對象」不是JSON也不是一個對象。有效的Javascript對象的格式爲「{key:value}」,但不是「{key = value}」。那是什麼記錄,如果你console.log'req.body'?另外,由於stats屬性的鍵都不是變量,所以你應該使用點符號來訪問它們:'req.body.stats.abdominal'。您也可以只分配整個屬性引用:'user.stats = req.body.stats;'。 –