Javascript 无法从Parse.Query中检索包含的对象
关于Parse.Query以及如何分解结果,我遇到了一个问题。这是我当前的代码:Javascript 无法从Parse.Query中检索包含的对象,javascript,json,parse-platform,Javascript,Json,Parse Platform,关于Parse.Query以及如何分解结果,我遇到了一个问题。这是我当前的代码: var ga = new Parse.Query(Game); ga.include('away_team'); ga.include('home_team'); ga.equalTo("objectId", req.params.id); ga.find().then(function(result){ console.log(result[0]); }); 控制台日志输出如下内容: { "home_t
var ga = new Parse.Query(Game);
ga.include('away_team');
ga.include('home_team');
ga.equalTo("objectId", req.params.id);
ga.find().then(function(result){
console.log(result[0]);
});
控制台日志输出如下内容:
{
"home_team" : {"name":"Dallas Stars", "arena":"American Airlines Center"},
"away_team" : {"name":"New York Rangers", "arena":"Madison Square Garden"},
"createdAt" : "2015-12-28T10:35:35.541Z"
}
我的问题是,我如何从promise函数中的客场团队
获取名称?如果我将console.log行更改为console.log(结果[0].createdAt)
。我的控制台按预期输出2015-12-28T10:35:35.541Z
。但如果我将该行进一步更改为console.log(结果[0].away\u团队)
我的控制台不会记录任何消息
这显然是错误的,在我的世界里(在我的脑海里),它会回来
{“名称”:“纽约游骑兵队”、“竞技场”:“麦迪逊广场花园”}
但好吧,好吧,我真的不需要那一行,但我需要的是从中检索名称。当我尝试以下行时:console.log(结果[0].away\u team.name)
我收到一个错误,提示Result:TypeError:无法读取未定义的属性“name” 如果我使用JSON.serialize()将其发送到视图,并在视图中使用JSON.parse()对其进行解析,那么我可以在.jade模板中执行此操作(results.away\u team.name)。如果我在我的路由器类中尝试这样做,我会在。。。或在 我的目标是发送一个正确的标题到我的视图,具体取决于当前游戏中的主客场球队,我浏览的内容如下:
res.render('inside/game', {
title: result[0].away_team.name + " vs. " + result[0].home_team.name
// title: New York Rangers vs. Dallas Stars
});
我是否正在尝试解决一些不适用于路由类的问题?查找结果是一个解析对象,而不是JSON。您的解决方法是获取该对象,并通过JSON文本将其转换为纯JS对象,这虽然不太好,但确实有效 解析对象无法直接访问大多数内容,因为它们没有为任意键显式定义的方法。相反,您需要使用
get
函数
result[0].get("home_team")
您可以将后续请求链接到
名称
,或将结果存储到var中,这样您就可以高效地解压多个数据块。太棒了!我想我终于明白了,事物的外表并不总是真实的东西!