我需要在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