Javascript Node.JS req.body字符串太长?

Javascript Node.JS req.body字符串太长?,javascript,node.js,express,Javascript,Node.js,Express,我再次问了一个可能是初学者的问题,但我已经环顾了很多地方,没有找到我需要的答案。我已经创建了一个Node.JS服务器,为我正在进行的游戏状态集成项目提取数据,我需要从游戏中请求某些数据 基本上,代码中发生的是我正在将变量newKillStatus设置为我正在读取的播放器状态文件的某个部分。在我进一步讨论之前,这里是我正在使用的代码:(如果您需要更多,请询问) 如你所见,我正试图将newKillStatus设置为req.body.state.round\u kills据我所知,它太长了,因为当我尝

我再次问了一个可能是初学者的问题,但我已经环顾了很多地方,没有找到我需要的答案。我已经创建了一个Node.JS服务器,为我正在进行的游戏状态集成项目提取数据,我需要从游戏中请求某些数据

基本上,代码中发生的是我正在将变量
newKillStatus
设置为我正在读取的播放器状态文件的某个部分。在我进一步讨论之前,这里是我正在使用的代码:(如果您需要更多,请询问)

如你所见,我正试图将
newKillStatus
设置为
req.body.state.round\u kills据我所知,它太长了,因为当我尝试启动服务器时,它会给我以下错误:

无法读取未定义的属性“round_kills”

但是,如果我去掉
round\u kills
部分,它会给我
round\u kills
,但它也会给我一大堆我不想设置变量的其他统计信息

因此,基本上我唯一的问题是如何将
var newKillStatus
设置为
req.body.player.state.round\u kills
,而不出错

谢谢你的帮助

编辑:
我已经尝试了所有的解决方案和字符串的多种组合,是否有可能下划线产生了错误?

在我自己多次尝试找到答案后,我找到了答案。事实上,我很惊讶我花了这么长时间才发现这一点。事实上,这个错误可能比我认为的要高,也就是错误所说的要高。问题实际上是在req.body中的
var player='player'中?req.body.player:空我需要将
req.body.player
更改为
req.body.player.state
执行下面的代码会知道我引用的内容。

不,不是“太长”。它根本不存在。没有
req.body.player.state
,访问
.round\u kills
会抛出异常。要么你输入了一个拼写错误,意思是
req.body.state.round\u kills
,要么你对请求正文的序列化或解析不够。这很奇怪,因为如果我只使用
req.body.state
round\u kills,就会显示不必要的信息,如果我使用
req.body.state.health
这是该部分中的另一条信息,那么它是有效的。那么这可能是因为下划线,因为round_killhs也不起作用。(另一个数据点)是的,你真的打错了。使用
req.body.state.round_kills
代替
req.body.player.state.round_kills
。没有
。玩家
!我已经试着摆脱了.player,同样的错误,摆脱了.state不会产生错误,但不会记录数据,我猜没有收到它。
fs.readFile('player_state', 'utf8', function(err, killStatus) {
    var player = 'player' in req.body ? req.body.player : null;
    if (player && player.state !== killStatus) {
        var newKillStatus = req.body.player.state.round_kills;
        if (!newKillStatus) {
            newKillStatus = '';
        }
        fs.writeFile('player_state', newKillStatus);
        console.log(newKillStatus);
    }
});