我相信一个类似的问题已经被提出并回答了很多次,但我想我并没有正确地描述这个问题,因为我还没有找到任何对我有用的答案。如何访问JSON对象的动态属性? (Node.js)
我使用节点发送一个API请求,并正在返回数据到我的角度的应用,因为这样:
app.get('/personInfo/:personName', function(req,res){
Module.Person.getByName(req.params.personName)
.then(function (person) {
res.json(person);
});
});
该应用涵盖的反应,通过凭借以下脚本的:
$scope.submit = function(){
$http.get('/personInfo/' + $scope.person.name).success(function(response){
console.log(response);
});
};
($ scope.person链接到一些领域我的.html文件,它似乎正常工作)
我得到这个回(假设我通过$ scope.person.name通过约翰尼)
johnny:Object
__proto__:Object
第一个对象包含我想要的数据...所以我无法直接访问它的属性。
我不能在此进行一个简单的response.id, response.name, response.profileIconId
等......我在访问它是这样的:
response.johnny.property
......这,显然...
上午什么我做错了?是否可以使用某种形式的格式化或解析,无论是在服务器级别还是客户端级别,都可以直接访问对象的属性,而无需指定动态父级?所以我需要做的人 -
'$ http.get( '/ personInfo /' + $ scope.person.name)'是危险的,因为它的风险错乱当人名包含URL特殊字符时,请求(最好)或注入攻击(最坏)。 **始终**正确编码数据。在这种情况下,使用'encodeURIComponentI()'。 – Tomalak
encodeURIComponent()?为了保持简单,我在这些脚本中改变了很多东西。但我以前不知道这一点,我很欣赏它。 –
检查服务器端代码,看看'person'对象是否包含类似'johny:{...}'的东西。这可能是你得到回复的原因 –