Oj: Verificación de tipo explícito en el parámetro de análisis

Creado en 17 may. 2017  ·  8Comentarios  ·  Fuente: ohler55/oj

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)

Comentario más útil

Podría llevar uno o dos días.

Todos 8 comentarios

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!

¿Fue útil esta página
0 / 5 - 0 calificaciones