我为此使用节点的 IMAP 和 Mailparser 模块。
我的邮箱阅读器函数具有解析标题的这一行:
var parsed_header = inspect(Imap.parseHeader(buffer));
这将返回:
{ from: [ 'user <user@mail.com>' ],
subject: [ 'Test' ] }
我希望能够使用 JSON.parse 将其解析为 JSON,但是因为键周围没有引号 + 键都在列表中,可以这样做吗?
我为此使用节点的 IMAP 和 Mailparser 模块。
我的邮箱阅读器函数具有解析标题的这一行:
var parsed_header = inspect(Imap.parseHeader(buffer));
这将返回:
{ from: [ 'user <user@mail.com>' ],
subject: [ 'Test' ] }
我希望能够使用 JSON.parse 将其解析为 JSON,但是因为键周围没有引号 + 键都在列表中,可以这样做吗?
我用两个正则表达式替换解决了同样的问题:
var header = inspect(Imap.parseHeader(buffer)).replace(/'/g,'"').replace(/([a-z]+)(: ?[\[\n])/g, '"$1"$2');
var headerObj = JSON.parse(header);
第一个用双引号替换单引号,第二个在字段名称周围添加引号。
只要做var parsed_header = Imap.parseHeader(buffer)
,你就会有一个对象。因此,对于获取“来自”字段,您可以使用parsed_header.from