Recibo /json/common.rb:156:in `parse': 783: unexpected token at '' (JSON::ParserError) al intentar analizar un archivo json en ruby. El problema era que había algunas comillas simples en una de las cadenas:
parsed = JSON.parse("{ \"key1\":\"value1\", \"key2\":\"value2\", \"key3\":12345, \"key4\":\"''value4''\", }") ¿Hay alguna manera de escapar de las comillas simples en las cadenas sin afectar palabras como don't ? El json se lee desde un archivo usando JSON.parse(file.get_input_stream.read) por eso hay \ .
Las comillas simples no son su problema, su problema es que tiene una coma extraviada al final:
parsed = JSON.parse("{ \"key1\":\"value1\", \"key2\":\"value2\", \"key3\":12345, \"key4\":\"''value4''\", }") #--------------------^ This should not be there.JSON no permite esa coma, por lo que en realidad no tiene un archivo JSON.
Debe averiguar de dónde proviene el archivo y corregir esa herramienta para producir JSON real en lugar de "se parece principalmente a JSON" que se está escribiendo actualmente en el archivo.