使YAJL在格式错误的JSON上抛出异常

时间:2013-02-25 07:16:33

标签: ruby json strict yajl

Yajl.load并不总是抛出解析错误。例如:

irb(main):004:0>     Yajl.load('[[],"NOOOOOOOOOOOoooooooooooo!')

=> [[]]

它最后忽略了那个微小的细节,并继续它到达那一点。如果整个字符串整体不好,我希望它抛出,就像本机JSON.parse方法那样:

irb(main):005:0> JSON.parse('[[],"NOOOOOOOOOOOoooooooooooo!')

JSON::ParserError: 399: unexpected token at '"NOOOOOOOOOOOoooooooooooo!'
from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/json-1.7.5/lib/json/common.rb:155:in `parse'
from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/json-1.7.5/lib/json/common.rb:155:in `parse'
from (irb):5

...

有没有办法在YAJL中强制执行'严格'模式?或者,如果我希望确定我在合法的JSON字符串上操作,我是否需要每次都通过本机JSON.parse调用来运行它?

1 个答案:

答案 0 :(得分:1)

这是an issue already open in the yajl project。不幸的是,它尚未修复。

也许给问题+1,或者询问为什么问题没有处理也没有回复。