Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从Parse.Query中检索包含的对象_Javascript_Json_Parse Platform - Fatal编程技术网

Javascript 无法从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

关于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_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中,这样您就可以高效地解压多个数据块。

太棒了!我想我终于明白了,事物的外表并不总是真实的东西!