小编Cor*_*ory的帖子

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

我收到了这个错误,我找不到任何合理的答案,所以我想我会写一个问题的摘要.

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

JSON.parse( nil )
Run Code Online (Sandbox Code Playgroud)

您将看到以下错误:

TypeError: can't convert nil into String
Run Code Online (Sandbox Code Playgroud)

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

JSON::ParserError: A JSON text must at least contain two octets!
Run Code Online (Sandbox Code Playgroud)

那很好,很好.如果你不知道八位字节是什么,请阅读这篇文章以获得摘要和解决方案: 什么是JSON八位字节,为什么需要两个?

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

所以,现在我知道错误的原因,我应该使用什么模式来处理这个问题?我有点厌恶修补JSON库以允许nil值.任何建议将不胜感激.

ruby json ruby-on-rails irb

63
推荐指数
1
解决办法
7万
查看次数

标签:hover属性触发IE10和IE11中的错误元素

这有点奇怪,但请耐心等待.这仅影响IE10和IE11,不影响Chrome,FF,Safari和IE9及更早版本.如果你有一个<label>嵌套在:hover分配给的类中的另一个元素,它将匹配该选择器,即使你没有悬停在该元素上.在下面的示例中,如果将鼠标悬停在第一个范围内div,则两者都会divs突出显示.

<div>
    <select id="min-price">
        <option>A</option>
    </select>
</div>

<div>
    <label for="min-price"></label>
    <select>            
        <option>B</option>
    </select>
</div>     
Run Code Online (Sandbox Code Playgroud)

这个CSS:

div {
    padding: 1em;
    margin-bottom: 1em;
    border-bottom: 1px solid red;
}

div:hover {
    background: #f1f1f1;
}

div:hover > select {
    background-color: #a3a3a3;
}
Run Code Online (Sandbox Code Playgroud)

示例可以在这里找到.

http://jsfiddle.net/0c67oew2/3/

有人解释为什么会这样吗?

css internet-explorer internet-explorer-10 internet-explorer-11

5
推荐指数
1
解决办法
1988
查看次数