解析IMAP + mailparser将对象返回到JSON

时间:2018-02-04 07:51:40

标签: json node.js imap email-parsing

我正在使用node的IMAP& Mailparser模块。

我的邮箱阅读器功能有一行解析标题:

var parsed_header = inspect(Imap.parseHeader(buffer));

然后返回:

{ from: [ 'user <user@mail.com>' ],
subject: [ 'Test' ] }

我希望能够使用JSON.parse将其解析为JSON,但由于密钥周围没有引号+密钥都在列表中,这可以完成吗?

2 个答案:

答案 0 :(得分:1)

我用两个正则表达式替换解决了同样的问题:

var header = inspect(Imap.parseHeader(buffer)).replace(/'/g,'"').replace(/([a-z]+)(: ?[\[\n])/g, '"$1"$2');
var headerObj = JSON.parse(header);

第一个用双引号替换单引号,第二个用字段名称添加引号。

答案 1 :(得分:0)

只需执行var parsed_header = Imap.parseHeader(buffer),您将拥有一个对象。因此,要获取“来源”字段,您只需使用parsed_header.from