调用console.log(JSON.stringify(req.params))
后,我得到一个包含以下结构的字符串:
{"q":"{\"email\":\"mymail@mail.com\"}","apiKey":"1234"}
使用console.log(req.params.q)
,我得到了这样的结果:{"email":"mymail@mail.com"}
。
但我明白了#34;未定义"如果我尝试使用console.log(req.params.q.email)
或console.log(req.params.q["email"])
查看电子邮件值
获得这个价值的最佳方法是什么?
答案 0 :(得分:2)
您必须JSON.parse
内部部分:
var test = {"q":"{\"email\":\"mymail@mail.com\"}","apiKey":"1234"};
alert(JSON.parse(test.q).email);
提醒mymail@mail.com
<强>为什么吗
因为 test
包含一个javascript对象,其中 q
包含字符串,所以如果要提取JSON,则必须解析该字符串来自该字符串的值。
答案 1 :(得分:1)
看起来req.params.q是一个字符串:"{\"email\":\"mymail@mail.com\"}"
。
你需要解析那个json然后获取值。
req = {params: {"q":"{\"email\":\"mymail@mail.com\"}","apiKey":"1234"}}
JSON.parse(req.params.q)
> Object {email: "mymail@mail.com"}
JSON.parse(req.params.q).email
> "mymail@mail.com"