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调用来运行它?
答案 0 :(得分:1)
这是an issue already open in the yajl project。不幸的是,它尚未修复。
也许给问题+1,或者询问为什么问题没有处理也没有回复。