1
我使用fluentd來分析日誌,它看起來像:如何解析ruby中不標準JSON的字符串?
{ date="2017-04-01 10:22:18.306", message="This is a trace Message!" }
{ date="2017-04-01 10:22:18.306", message="This is a debug message" }
雖然標準化的JSON版本應該是:
{ "date":"2017-04-01 10:22:18.306", "message":"This is a trace Message!" }
我已經試過
str='{ date="2017-04-01 10:22:18.306", message="This is a trace Message!" }'
Yajl::Parser.parse(str)
而且它不工作:
Yajl::ParseError: lexical error: invalid char in json text.
{ date="2017-04-01 10:22:18.306",
(right here) ------^
from /var/lib/gems/2.3.0/gems/yajl-ruby-1.2.1/lib/yajl.rb:37:in `parse'
from /var/lib/gems/2.3.0/gems/yajl-ruby-1.2.1/lib/yajl.rb:37:in `parse'
from (irb):45
from /usr/bin/irb:11:in `<main>'
@EricDuminil我已經更新 – Pao
@Pao:什麼是你從你的代碼得到的結果? – Surya