从节点js中的字符串创建一个对象

时间:2016-11-23 07:23:28

标签: javascript angularjs json node.js string

我将以下列形式将字符串从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这样的许多解决方案都无济于事。这里有什么建议吗?

2 个答案:

答案 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',       
    }
}