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 に答える