如何访问从Parse.com查询返回的JSON元素?

时间:2015-07-01 14:23:12

标签: javascript json parse-platform

我在尝试访问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“......

我是编程新手所以请原谅我这是一个非常愚蠢的问题,但是在花了这么多时间寻找类似主题的答案之后我找不到解决方案。

提前致谢并抱歉我的英语!

2 个答案:

答案 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')