我需要在Ruby中解析某些無效的JSON。如何使用ActiveSupport 3解析無效的JSON(Rails)
喜歡的東西:
json_str = '{name:"Javier"}'
ActiveSupport::JSON.decode json_str
正如你所看到的,它是無效的,因爲散列鍵沒有報價,應該是
json_str = '{"name":"Javier"}'
但是這無法改變,我必須解析鍵未加引號。
我可以用ActiveSupport 2.x解析它,但ActiveSupport 3不允許我。這引發了我:
Yajl::ParseError: lexical error: invalid string in json text.
{name:"Javier"}
(right here) ------^
順便說一句,這是使用一些Rails的圖書館Ruby應用程序,但它不是一個Rails應用程序
在此先感謝
這個無效的json來自哪裏?一個休息API或一些文件?最好是修復json,接受無效json的解析器不好,我很高興他們現在正在使用Yajl。 – 2011-02-03 19:51:55
是的,它是一個API。是的,它很臭,我必須爲此做一個解決方法,但我沒有任何接觸API的開發人員。 – 2011-02-04 17:17:52