Javascript 已解析HTTP查询,从JSON读取值
我从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
{“执行器编号”:“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)
。