我正在使用node的IMAP& Mailparser模块。
我的邮箱阅读器功能有一行解析标题:
var parsed_header = inspect(Imap.parseHeader(buffer));
然后返回:
{ from: [ 'user <user@mail.com>' ],
subject: [ 'Test' ] }
我希望能够使用JSON.parse将其解析为JSON,但由于密钥周围没有引号+密钥都在列表中,这可以完成吗?
答案 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