Un texto JSON debe contener al menos dos octetos

Recibí este error y no pude encontrar ninguna respuesta razonable a esta pregunta, así que pensé en escribir un resumen del problema.

Si ejecuta este fragmento en irb:

JSON.parse( nil )

Verá el siguiente error:

TypeError: can't convert nil into String

Esperaba que la función devolvieranil, y no unaTypeError. Si convierte todas las entradas usandoto_s, entonces verá el error de octeto:

JSON::ParserError: A JSON text must at least contain two octets!

Eso está bien y bien. Si no sabe qué es un octeto, lea esta publicación para obtener un resumen y una solución: ¿Qué es un octeto JSON y por qué se requieren dos?

Solució

La variable que está pasando es una cadena vacía. No intente usar una cadena vacía en laJSON.parse método.

Pregunt

Entonces, ahora sé la causa del error, ¿qué patrón debo usar para manejar esto? Estoy un poco detestado con el parche de mono de la biblioteca JSON para permitirnil valores. Cualquier sugerencia sería muy apreciada.

Respuestas a la pregunta(8)

Su respuesta a la pregunta