Um texto JSON deve conter pelo menos dois octetos

Eu recebi esse erro e não consegui encontrar uma resposta razoável para essa pergunta, então pensei em escrever um resumo do problem

Se você executar este trecho no irb:

JSON.parse( nil )

Você verá o seguinte erro:

TypeError: can't convert nil into String

Eu estava esperando que a função retornassenil e não umTypeError. Se você converter todas as entradas usandoto_s, você verá o erro de octeto:

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

Tudo bem e bem. Se você não sabe o que é um octeto, leia esta postagem para obter um resumo e uma solução:O que é um octeto JSON e por que dois são necessário

Soluçã

A variável que você está passando é uma string vazia. Não tente usar uma string vazia noJSON.parse método.

Questã

Então, agora eu sei a causa do erro, que padrão devo usar para lidar com isso? Eu sou um pouco repugnante por consertar um macaco na biblioteca JSON para permitirnil valores. Qualquer sugestão seria muito apreciada.

questionAnswers(4)

yourAnswerToTheQuestion