Necesito analizar ciertos JSON no válidos en Ruby.Cómo analizar el JSON no válido con las teclas sin usar el uso de ActiveSupport 3 (Rails)
Algo así como:
json_str = '{name:"Javier"}'
ActiveSupport::JSON.decode json_str
Como se puede ver, es válida porque la tecla de almohadilla no es citado, debe ser
json_str = '{"name":"Javier"}'
Pero eso no puede ser cambiado y tengo que analizar las claves sin comillas.
Podría analizarlo con ActiveSupport 2.x, pero ActiveSupport 3 no me lo permite. Me lanza:
Yajl::ParseError: lexical error: invalid string in json text.
{name:"Javier"}
(right here) ------^
Por cierto, es una aplicación de Ruby usando algunas bibliotecas Rails, pero no es una aplicación Rails
Gracias de antemano
¿De dónde viene este inválido json? ¿Una api de descanso o algún archivo? Sería mejor arreglar el json, un analizador que acepta el json no válido es malo y me alegro de que ahora usen Yajl. –
Sí, es una API. Y sí apesta que tengo que hacer una solución para esto, pero no tengo ningún contacto con los desarrolladores de la API. –