nodejs 获取url中json格式的参数

在使用nodejs时经常使用req.query.参数名 来获取参数的值

例如

url : http://localhost:7778/project?id=1

<span style="font-size:18px;">var id = req.query.id
console.log(id);//打印出url的id参数值1 </span>

但是在url中的参数是JSON格式时就出现了问题

url:http://localhost:7778/project?mainMember={id:1}

技术分享

打印mainMember和mainMember.id的值发现mainMember可以正常打印,但mainMember.id确是undefined,如下图

技术分享

后来使用typeof 打印了一下mainMember的类型 ,发现是String。应该是数据传输过程中,json是以字符串的形式传递的,而JS操作的是JSON对象,所以,要将字符串的JSON转换成JSON对象


修改下代码:

    var main = req.query.mainMember;
    var mainMember = eval("(" + main + ")");//将字符串JSON转换成JSON Object
    console.log(mainMember);
    console.log(mainMember.id);
打印结果就正确了

技术分享
突然担心 传数组也需要转换~~~

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。