我有一个REST POST API,可以接收json数据并验证参数。在生产环境中,API有时会引发异常:
JSON::ParserError : 822: unexpected token at ...
堆栈跟踪如下:
> .../gems/ruby-2.2.10/gems/json-1.8.6/lib/json/common.rb:155:in `parse'
> .../gems/ruby-2.2.10/gems/json-1.8.6/lib/json/common.rb:155:in `parse'
> .../gems/ruby-2.2.10/gems/activesupport-4.2.10/lib/active_support/json/decoding.rb:26:in `decode'
似乎错误是随机发生的;我找不到任何图案。
当我对转储的数据尝试相同的代码时,没有解析错误。
我认为错误是由于并发运行引起的,但是我在本地尝试了1000个并发请求,这比在生产环境中要多得多,并且仍然可以正常工作。
我很高兴能提供一些启发。
错误消息中的822
是什么意思?似乎不是json数据中的字符位置。