Actualmente, cuando se ejecuta en el modo mimic_json
o rails
, Oj parece hacer una verificación estricta del argumento pasado a JSON.parse
, y genera un ArgumentError
si no es un objeto String
o IO
.
Esta es una desviación del estándar lib JSON.parse
, que permite cualquier objeto tipo cadena o IO. Muchas gemas y bibliotecas han utilizado (¿abusado?) De esta función.
Caso de prueba:
require 'oj'
Oj.mimic_JSON
Oj.add_to_json
class StringPlus
def initialize(str)
<strong i="16">@str</strong> = str
end
def to_str
<strong i="17">@str</strong>
end
alias to_s to_str
end
test_str = StringPlus.new('{"testing": 123}')
JSON.parse(test_str)
Ouch, ok, probaré la gema json y actualizaré Oj en modo mímico para manejar eso con una llamada a to_s
y verificaré los métodos IO que se necesiten antes de eso.
¡Estupendo! ¡Gracias por la rápida respuesta!
Podría llevar uno o dos días.
o quizás menos. :-) por favor intente con el último maestro.
3.0.9 lanzado
Comprobándolo ahora, la prueba preliminar parece indicar éxito
¿Se puede cerrar esto?
Sí, lo siento, ¡funciona perfectamente!
Comentario más útil
Podría llevar uno o dos días.