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);

打印结果就正确了

突然担心 传数组也需要转换~~~

时间: 2024-11-13 12:58:20

nodejs 获取url中json格式的参数的相关文章

c#获取url中的查询字符串参数

/// <summary> /// 获取url中的查询字符串参数 /// </summary> public static NameValueCollection ExtractQueryParams(string url) { int startIndex = url.IndexOf("?"); NameValueCollection values = new NameValueCollection(); if (startIndex <= 0) ret

获取URL中附带的请求参数的方式

在进行请求的时候,通常的方式是:request.getParametere("param");来获得我们想要的一些参数, 但是在现实的生活中我们需要自定义一些URL格式的请求参数,对这些格式的请求参数可能通过request.getParameter("param") 就不是十分的合适. 下面我们以http://www.yongit.com/device/md5/44CF9590006BF252F707?firstParam=gHdg5pU48rHTDknJ&

Go net/http获取body中json格式数据

package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" ) type AutotaskRequest struct { RequestID string `json:"requestid"` Clone CloneModel `json:"clone"` Push PushModel `json:"p

小程序获取data中json格式的某个属性值

signlist: [{ id: 0, title: '星期一', active: "" }, { id: 1, title: '星期二', active: "" }, { id: 2, title: '星期三', active: "" }, { id: 3, title: '星期四', active: "" }, { id: 4, title: '星期五', active: "" }, { id: 5,

记录一次bug解决过程:velocity中获取url中的参数

一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-site request forgery,跨站请求伪造),在form表单提交中要加入$!csrfToken.ajaxUniqueToken 二.Bug描述:Velocity从URL中获取parameter参数 在项目IDCM中,使用webx容器进行项目的开发.前端的模板引擎采用了velocity,在项目

JS根据key值获取URL中的参数值,以及把URL的参数转换成json对象

//把url的参数部分转化成json对象 parseQueryString: function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g, arr_url = reg_url.exec(url), ret = {}; if (arr_url && arr_url[1]) { var str_para = arr_url[1], result; w

如何获取url中的参数并传递给iframe中的报表

在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数呢?以下用报表软件FineReport简单介绍一些. 具体实现过程 将报表生成页面时,给网页添加onload事件,首先获取url中的参数,然后嫁接到iframe的src上,或者通过获得的参数拼接处完整的报表url赋给iframe的src. <html> <head> <title

如何用js获取浏览器URL中查询字符串的参数

首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主机名和当前的URL的端口号.本博客首页返回www.cnblogs.com hostname:设置或返回当前URL的主机名.本博客首页返回www.cnblogs.com hash:设置或返回从井号(#)开始的URL(锚).本博客首页返回 空 pathname:设置或返回当前URL的路径部分.本博客首页

C#获取URL中的参数

//获取URL中id参数  var ids = YK.Common.Util.WebKit.QueryParamValue("ids", "");         /// <summary>         /// 获取url参数的字符串类型值         /// </summary>         /// <param name="key">参数名</param>         /// &