Javascript 已解析HTTP查询,从JSON读取值

Javascript 已解析HTTP查询,从JSON读取值,javascript,node.js,Javascript,Node.js,我从HTTP查询中获得以下JSON: {“执行器编号”:“2”,“方向”:“右”,“速度”:“45”} 以下代码无法执行: Servo.writeReg((o.促动器编号*2)-1,o.速度) writeReg来自库。 查询按如下方式发送(使用curl): “执行器编号=2,方向=右侧,速度=45” 似乎o的每个值都读取错误。是否存在打印时不可见的分析错误 解析过程如下所示: var url = require('url'); var url_parsed = url.parse(req.url

我从HTTP查询中获得以下JSON:

{“执行器编号”:“2”,“方向”:“右”,“速度”:“45”}

以下代码无法执行:

Servo.writeReg((o.促动器编号*2)-1,o.速度)

writeReg
来自库。 查询按如下方式发送(使用
curl
):

“执行器编号=2,方向=右侧,速度=45”

似乎
o
的每个值都读取错误。是否存在打印时不可见的分析错误

解析过程如下所示:

var url = require('url');
var url_parsed = url.parse(req.url, true);
var parsedQuery = JSON.stringify(url_parsed.query);
parsedQuery
稍后作为参数
o
提供给相应的函数

错误:


错误:在方法“I2c\u writeReg”中,参数2的类型为“uint8\u t”
,正如@adeneo所说,只是不要使用
JSON.stringify

然后还需要将o.Speed解析为int,因为函数需要int

Servo.writeReg((o.ActuatorNumber*2)-1, parseInt(o.Speed));

你为什么不登录控制台
o
并找出答案呢?在我看来,它像一个字符串?@adeneo第一个代码块是来自
控制台的结果。log(o)
。您是否试图将
{“ActuatorNumber”:“2”,“方向”:“right”,“Speed”:“45”
转换为
“ActuatorNumber=2&Direction=right&Speed=45”
?@另一个开发人员我正在尝试从
ActuatorNumber
获取
2
,将其与
2
相乘,然后减去
1
。console.log(typeof o)是什么?我建议您在
parseInt
上设置一个基数。在这种情况下,应该使用
parseInt(o.Speed,10)