我在尝试访问JSON元素时遇到了问题,我从查询到Parse.com类的响应中得到了这个元素。
我已经阅读了有关类似主题的问题/答案,但仍无法解决。
这是我的疑问:
Parse.Cloud.define("todoenuno", function(request, response) {
var User = Parse.Object.extend("_User");
var query = new Parse.Query(User);
query.equalTo("TipoUsuario", {"__type": "Pointer", "className": "Tipo_de_Usuario", "objectId": "UgTuNHEQEZ"});
query.find({
success: function(results) {
response.success(results[0]);
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
response.error('Request failed with response code ' + error.status);
}
});
});
所以,当我调用函数todoenuno(
时,我得到了这个:
{
"result": {
"Apellido": "Galli",
"Nombre": "Gabriel",
"NombreSede_FK": {
"__type": "Pointer",
"className": "Sedes",
"objectId": "JNMeQHySaD"
},
"Sexo": "M",
"TipoUsuario": {
"__type": "Pointer",
"className": "Tipo_de_Usuario",
"objectId": "UgTuNHEQEZ"
},
"TipoUsuario_FK": {
"__type": "Pointer",
"className": "Tipo_de_Usuario",
"objectId": "Aprendiz"
},
"Turno_FK": {
"__type": "Pointer",
"className": "Turnos",
"objectId": "3lgY2zVyLD"
},
"__type": "Object",
"className": "_User",
"createdAt": "2015-05-23T15:07:17.202Z",
"email": "gabriel@gmail.com",
"objectId": "PqhqC7HqIj",
"updatedAt": "2015-05-30T14:48:28.287Z",
"username": "GabrielGalli"
}
}
查询的结果还可以,但我需要访问各个元素。
例如,我想获得“Galli”的价值。
我尝试过使用以下内容:
response.success(results[0].Apellido); //or response.success(results[0]["Apellido"];
我得到了一个空的JSON。
如果我尝试:
response.success(results.result.Apellido);
我得到“无法从未定义中读取”Apellido“......
我是编程新手所以请原谅我这是一个非常愚蠢的问题,但是在花了这么多时间寻找类似主题的答案之后我找不到解决方案。
提前致谢并抱歉我的英语!
答案 0 :(得分:0)
使用它来获得所需的结果:
function getAttributeByIndex(obj, index){
var i = 0;
for (var attr in obj){
if (index === i){
return obj[attr];
}
i++;
}
return null;
}
console.log(getAttributeByIndex(response, 0));
答案 1 :(得分:0)
如果JSON是结果[0],那么你可以用它来获得“Galli”:
results[0].result.Apellido
编辑:在documentation中看来,results [0]是一个Parse.Object,所以你可以使用get()方法:
results[0].get('Apellido')