从具有主体解析器节点js的行中选择一个值

时间:2014-11-03 12:27:51

标签: javascript node.js express

我正在尝试从帖子消息中选择一个值,我所接受的是csv数据,如下所示:

{ reader_name: '"xx-xx-xx-xx-xx-xx"',
  mac_address: '"name"',
  line_ending: '\n',
  field_delim: ',',
  field_names: 'antenna_port,epc,first_seen_timestamp,peak_rssi',
  field_values: '1,"000005555666600000000000",1414762247726148,-68\n' }

我想要的是,例如,对于行field_names和field_values,选择一个独立的值,如antenna_port和1。

我在尝试的是:

app.post('/', function(req, res) {
        console.log('Encendido');
        var epc = req.body.field_values;
        console.log("MAC= "+epc);
        res.send('si');

但我不知道如何从该行中选择一个单独的值。

1 个答案:

答案 0 :(得分:0)

这是一个字符串。使用req.body.field_values.split(",")获取各个值。

或者,如果您想为其指定名称,您可以执行以下操作:

var names = req.body.field_names.split(",");
var values = req.body.field_values.replace("\n", "").split(",");

var result = {};

for(var i = 0; i < names.length; i++) {
    result[names[i]] = values[i];
}

哪会回来:

{
    antenna_port: "1",
    epc: ""000005555666600000000000"",
    first_seen_timestamp: "1414762247726148",
    peak_rssi: "-68"
}