我将以下列形式将字符串从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这样的许多解决方案都无济于事。这里有什么建议吗?
答案 0 :(得分:1)
您只需要JSON.parse
将字符串转换为对象。
这样的事情:
var jsonString='{"obj":{"one":"string","two":"integer"}}';
console.log(JSON.parse(jsonString));
输出:
{ obj: { one: 'string', two: 'integer' } }
答案 1 :(得分:0)
例如我的原始数据是这样的:
var raw_data =
{
"ok": true,
"user": {
"id": "U89MZ4PV2",
"team_id": "T895HCY8H",
"name": "hyosoka187",
}
}
然后只使用JSON.parse(raw_data, true);
。所以
var real_data = JSON.parse(raw_data, true);
console.log(real_data.user.name);
结果:
hyosoka187
注意:
输出JSON.parse(raw_data, true) :
{
ok: true,
user: {
id: 'U89MZ4PV2',
team_id: 'T895HCY8H',
name: 'hyosoka187',
}
}