【发布时间】:2017-04-07 02:24:56
【问题描述】:
我将字符串从 AngularJS 发送到 NodeJS,格式如下。
"{↵obj:{↵one:string,↵two:integer↵}↵}"//request object from browser console
我想将此字符串转换为对象并使用其属性。为此,服务器端代码如下:
var data=req.body.data.replace(/"/g,"");
var str=data.replace(/\n/g," ");
//res.json(str) // returning "{ obj:{ one:string, two:integer } }"
try {
var obj=JSON.parse(JSON.stringify(str)).replace(/"/g,"");
res.json(obj);//returning same "{ obj:{ one:string, two:integer } }"
} catch (error) {
console.log(error);
}
我想通过 Object.keys[obj] 或任何其他方法获取 ['users'] 想要访问此对象的属性。但未能实现这一目标。
This 之类的许多解决方案都无济于事。这里有什么建议吗??
【问题讨论】:
-
为什么要删除引号和换行符?如果它是有效的 JSON,那么您需要做的就是在
req.body.data上调用JSON.parse()。 -
这似乎不是一个有效的JSON
-
它没有直接解析 req.body.data。通过这样做 JSON.parse(JSON.stringify(req.body.data)) 答案是“{\nobj:{\none:string ,\ntwo:integer\n}\n}".....仍然无法访问属性
-
@ThomasThiebaud 错误后 json.parse 显示这个但我如何验证这个 json 以防万一。???你能解释一下吗?
标签: javascript angularjs json node.js string