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

时间:2016-08-10 09:21:18

标签: json node.js string aws-lambda

我正在研究将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)" - -

因为字符串包含空格,分号,嵌套字符串,加号等。我真的不知道将每行转换为JSON的最佳方法。我尝试过使用split(),但是如果字符串中包含所有不寻常的字符,则无法让它发挥得很好。

我的计划是使用AWS here.

记录的字段设置关键:值对

欢迎任何建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用JSON功能:

JSON.parse(yourStringYouWantToPass);

要删除空格,可以使用以下正则表达式:

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

\ s是' whitespace'的正则表达式,g是" global" flag,意为ALL \ s(空格)。