Entiendo que en JSON, se supone que las teclas están rodeadas por comillas dobles. Sin embargo, estoy usando una fuente de datos que no los cita, lo que hace que el analizador Ruby JSON genere un error. ¿Hay alguna manera de realizar un análisis sintáctico "no estricto"?Análisis JSON sin claves entrecomilladas
Ejemplo:
>> JSON.parse('{name:"hello", age:"23"}')
JSON::ParserError: 618: unexpected token at '{name:"hello", age:"23"}'
from /Library/Ruby/Gems/1.8/gems/json-1.1.7/lib/json/common.rb:122:in `parse'
from /Library/Ruby/Gems/1.8/gems/json-1.1.7/lib/json/common.rb:122:in `parse'
from (irb):5
>> JSON.parse('{"name":"hello", "age":"23"}')
=> {"name"=>"hello", "age"=>"23"}
>>
(He intentado utilizar una expresión regular para agregar las cotizaciones antes de analizar, pero no pudo conseguirlo completamente de trabajo).
Si no es JSON, no es JSON. Puede que se parezca superficialmente a él, pero la solución correcta es arreglar la fuente, por lo que en realidad le da a JSON algo de algo que se parece a algo como JSON pero no lo es. –
Lamentablemente no tengo control sobre la fuente, es de un tercero. –
http://www.google.com/ig/calculator?hl=es&q=100AUD=?USD por ejemplo requiere lo que está pidiendo. @floyd tiene la solución a continuación, y es aceptable – Rabbott