0

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 调用来验证它?

4

1 回答 1

1

这是yajl 项目中已经存在的问题。不幸的是,它还没有被修复。

也许给这个问题+1,或者问为什么这个问题没有得到处理或回应。

于 2013-02-25T09:24:23.880 回答