当我尝试在说出JSON的服务器端点中发送此字符时,响应会被破坏。原因如下:
>> JSON({:a => "\360\237\230\204"}.to_json)
=> {"a"=>"\357\230\204"}
如您所见,字符串的第一部分已被JSON库修改。
这是一个已知错误,是否有解决方法?或者这是设计的某种方式,因为以十六进制返回的值是f604而不是1f604?
谢谢!
答案 0 :(得分:2)
ActiveRecord与标准JSON to_json方法之间存在冲突。 ActiveRecord to_json实现有一个错误。我使用此线程中指定的初始化程序解决了它:
How do you deal with the conflict between ActiveSupport::JSON and the JSON gem?
答案 1 :(得分:0)
尝试使用Oj:
Oj.dump(data, mode: :compat)
您将必须oj
将其添加到宝石列表中