J'ai reçu cette erreur, et je ne pouvais pas trouver aucune réponse raisonnable à cette question, alors j'ai pensé que je ferais un résumé du problème.
Si vous exécutez ce code de la cisr:
JSON.parse( nil )
Vous allez définir le message d'erreur:
TypeError: can't convert nil into String
J'étais attendent à la fonction de retour à zéro, et non pas une exception TypeError. Si vous convertissez toutes les entrées à l'aide d'un .to_s, vous verrez alors l'octet d'erreur:
JSON::ParserError: A JSON text must at least contain two octets!
C'est très bien, et le bien, mais si vous ne savez pas ce qu'est un octet, lisez ce post pour un résumé et une solution:
Qu'est-ce que JSON octet? et Pourquoi deux?
Solution
La variable que vous êtes de passage dans est une chaîne vide. N'essayez pas d'utiliser une chaîne vide dans le JSON.méthode d'analyse.
Question
Donc je sais que je sais que la cause de l'erreur, quel modèle dois-je utiliser pour gérer cela? Je suis un peu réticent à monkey patch de la librairie JSON pour permettre à néant valeurs. Toutes les suggestions sont grandement appréciés.