node.js将包含空格和嵌套string的string转换为json

我正在处理一个将AWS ELB日志推送到ElasticSearch的Lambda函数。 我从S3读取ELB日志,每个文件包含大约500行,如下所示:

2016-08-10T01:03:42.216242Z foaas 66.249.79.176:61945 172.31.45.185:80 0.000044 0.194952 0.000039 200 200 0 30 "GET http://www.foaas.com:80/you/JSON/kelly HTTP/1.1" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" - - 

由于该string包含空格,分号,嵌套的string,加号等。我真的在最好的方式来将每一行转换为JSON的损失。 我尝试过使用split(),但是在给出string中所有不寻常的字符的情况下,不能让它玩得很好。

我的计划是使用AWS在这里logging的字段设置key:value对。

任何build议将是最受欢迎的。

谢谢。

您可以使用JSON函数:

 JSON.parse(yourStringYouWantToPass); 

要删除空格,你可以像这样使用正则expression式:

 .replace(/\s+/g, ''); 

\是“空白”的正则expression式,而g是“全局”标志,意思是ALL(空格)。