首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSON文本必须至少包含两个八位字节

JSON文本必须至少包含两个八位字节
EN

Stack Overflow用户
提问于 2011-12-06 02:47:27
回答 4查看 74.8K关注 0票数 70

我收到了这个错误,我找不到这个问题的合理答案,所以我想我应该写一个问题的摘要。

如果您在irb中运行此代码片段:

代码语言:javascript
复制
JSON.parse( nil )

您将看到以下错误:

代码语言:javascript
复制
TypeError: can't convert nil into String

我希望函数返回的是nil,而不是TypeError。如果您使用to_s转换所有输入,那么您将看到八位字节错误:

代码语言:javascript
复制
JSON::ParserError: A JSON text must at least contain two octets!

这就很好了。如果你不知道二进制八位数是什么,请阅读这篇文章以获取摘要和解决方案:What is a JSON octet and why are two required?

解决方案

您要传递的变量是一个空字符串。不要试图在JSON.parse方法中使用空字符串。

问题

那么,现在我知道了错误的原因,我应该使用什么模式来处理它呢?我有点讨厌给JSON库打补丁来允许nil值。任何建议都将不胜感激。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8390256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档