やあ、
さまざまな容量でoj
を使用するいくつかのJSONAPIを操作しています。 一般に、非常に厳密な解析を強制し(そして、 oj
のstrict
モードを使用して)、後で別の構文解析に切り替えた場合にサポートされない可能性のある解析機能を誤ってサポートしないようにします。図書館。 最近、 oj
は、いくつかの方法で数値解析の厳密さを緩和しました。 これらの変更後、こことここでjson互換モードに制限されました。
その動作を強制できるようにしたいのですが(JSON標準の一部ではない数値形式で失敗します)、オプションオプションでこの動作を有効にする別の方法が見当たらず、残りのstrict
を優先します。 strict
構成。 厳密モードのドキュメントの目標によるとstrict
のデフォルトの動作でもあるようです(ただし、同意する場合は、現在許可されているため、新しいメジャーバージョンをリリースする必要があると思います)。 いずれにせよ、おそらくオプションを介して、より厳密な解析モードにオプトインできるようにしたいと思います。
tl; dr:< 3.7.1
場合のように、 strict
モードの使用中にOj.load('+1.')
などを解析するときにエラーを発生させたい。
素晴らしい宝石をありがとう!
数値解析に変更を加えるとき、厳密モードは考慮しませんでした。 私はそれをバグとして分類します。 私はそれをそのように扱いたいと思います。 先頭の+
と末尾の.
以外に、他に導入されたバグはありますか?
@ ohler55私は他のバグを個人的には知りませんが、差分テストは行っていません。 変更ログを読んで変更を見つけ、コミット履歴を簡単にざっと読みました。
それをバグとして扱いたいのであれば、それはあなたの呼びかけです-それは私に悪影響を与えることはありませんが、他の人に影響を与える可能性のあるセマンティックの変更です。 そのようなSemVerの検討はあなたの判断に任せます。 バグ修正として扱うことは、 compat
モードで変更された3.7.4などの以前のリリースと一致すると思います。
繰り返しになりますが、この宝石にご尽力いただきありがとうございます。
少し遅いですが、 bug/570
ブランチに修正があります。
リリース3.10.0には、この問題の修正が含まれています。
まことにありがとうございます!
最も参考になるコメント
リリース3.10.0には、この問題の修正が含まれています。