[英]JSON file is valid but I can't parse it
有效的JSON文件如下:
{
"response": {
"player_count": 6453,
"result": 1
}
}
当我使用console.log(req.responseText)命令时,我得到:
{
"response": {
"player_count": 6453,
"result": 1
}
}
当从我的节点服务器上使用以下内容时(通过向其发送JSON文件),在使用下面的代码时,我得到的只是[对象对象]:我认为这就是问题所在。
app.post('/steam-output', function(req,res){
var params = [];
for (var p in req.body){
params.push({'name':p,'value':req.body[p]})
}
console.log(params);
console.log(req.body);
var context = {};
context.dataList = params;
res.render('steam-output', context);
// steam-output is a handlebars file which is what my Node.js server is running
});
//here is the steam-output.handlebars file
<h1></h1>
<ul>
{{#each dataList}}
<li>{{this.name}}: {{this.value}}
{{/each}}
</ul>
并且它也只是带有[object Object]。 在此方面的任何帮助将不胜感激(除非其他站点有完整的示例来解决此问题,请不要链接到其他站点)。
如果只是这个JSON文件,就不会发生此问题:
{
"player_count": 6453,
"result": 1
}
我认为您只是在遍历JSON的错误部分。 如果将for in
循环更改for in
会发生什么?
for (var p in req.body.response){
params.push({'name':p,'value':req.body.response[p]})
}
试试下面的代码
var esr = {
"response":{
"player_count":6453,
"result":1
}
}
var responseText = (JSON.parse(JSON.stringify(esr)));
alert(responseText.response.player_count); //out put 6453
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.