Este fragmento se emite una excepción:nil.to_json no se puede analizar de nuevo a nulo?
x = nil
jsoned = x.to_json
puts 'x.to_json=' + jsoned.inspect
puts 'back=' + JSON.parse(jsoned).inspect
C:/ruby/lib/ruby/1.9.1/json/common.rb:146:in `parse': 706: unexpected token at 'null' (JSON::ParserError)
x.to_json="null"
from C:/ruby/lib/ruby/1.9.1/json/common.rb:146:in `parse'
from C:/dev/prototyping/appoxy_app_engine/test/temp.rb:10:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
es que el comportamiento esperado? ¿Pensaría que esto debería funcionar?
usted no tiene, por sí mismo, responde a la pregunta. ¿To_json produce incorrectamente JSON "no válido" o JSON.parse falla al analizar JSON "válido"? De cualquier manera, esto no debería ser un comportamiento esperado dentro de ruby. Esperaría serializar/deserializar para ser coherente entre sí, independientemente del medio subyacente. – ghayes
Ninguno: to_json produce correctamente JSON no válido. Cuando llama a jjson en un único valor como nil, en realidad está diciendo "Muéstreme cómo se representaría este valor como un valor JSON". Eso es algo sensato que hacer en algunos casos, pero un valor que no sea objeto y que no sea un array aún no es un texto JSON válido. –