将json对象解析为node.js中的字符串

时间:2017-03-06 09:33:40

标签: javascript json node.js

这是我的代码

app.get('/status',function ( req,res) {
        var data = {
            "error": 1,
            'data status': ""
        };
        connection.query("SELECT * from status", function (err, rows, fields) {
            if (rows.length != 0) {
            data = rows;
                console.log(data);
                res.json(data);
             } else {
                data["Data status"] = '0';
                res.json(data);
            }
        })
});

我有一个问题,我尝试更改json对象

[{"id_status":5,"pin_arduino":1,"status":0}] 

我将消除

{"id_status":5,"pin_arduino":1,"status":0}

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你要求的是什么。

如果你得到这个:

[{"id_status":5,"pin_arduino":1,"status":0}]

你想要这个:

{"id_status":5,"pin_arduino":1,"status":0}

然后代替:

res.json(data);

使用:

res.json(data[0]);

如果你得到这个:

{"id_status":5,"pin_arduino":1,"status":0}

你想要这个:

[{"id_status":5,"pin_arduino":1,"status":0}]

然后代替:

res.json(data);

使用:

res.json([data]);

另外,看看你的例子,这个:

data["Data status"] = '0';

应该是:

data.status = 0;

或:

data[0].status = 0;

取决于您的数据的真实情况,这在您的问题中并不完全清楚。

请注意,您在这里没有使用JSON做任何事情。您只需处理普通的JS对象,当您使用res.json()时,Express会自动将其序列化为JSON,因此根本不需要使用JSON.parse()JSON.stringify(),至少不会使用您的代码包含在你的问题中。