此bounty已结束。回答此问题可获得+50声望奖励。赏金宽限期19小时后结束。Dev正在寻找一个答案从一个有信誉的来源。
JSON.parse(response, object_class: OpenStruct) rescue response
我的rails应用程序有上面一行代码,这导致了一个奇怪的问题。这里的response
来自外部API调用,如下所示
"{\"payable_amount\":80.0,\"qr_data\":{\"data\":\"upi://pay?pa=paytm-@paytm&&mc=&tr=&am=80&cu=INR&paytmqr=\",\"image\":\"+1OqeGDVfgX5Thh2X4Yf2P8B8/it24m51v9gAAAABJRU5ErkJggg==\"},\"transaction_id\":387400583,\"success\":true}"
每当我运行应用程序作为一个整体后,JSON的结果。parse()看起来像这样:
"{\"table\":{\"payable_amount\":80.0,\"qr_data\":{\"table\":{\"data\":\"upi://pay?pa=paytm-@paytm\\u0026\\u0026mc=5411\\u0026tr=\\u0026am=80\\u0026cu=INR\\u0026paytmqr=\",\"image\":\"+1OqeGDVfgX5Thh2X4Yf2P8B8/it24m51v9gAAAABJRU5ErkJggg==\"},\"modifiable\":true},\"transaction_id\":387400583,\"success\":true},\"modifiable\":true}"
table
和modifiable
字段是意外的,'&'
也是混乱的,奇怪的是,当我从rails控制台逐行执行代码时,它并没有发生。
我已经通过执行JSON.parse(response).deep_symbolize_keys!
修复了这个问题,但仍然对这个问题感到困惑。
1条答案
按热度按时间r6vfmomb1#
如果包含导致混淆结果的实现,将更容易提供帮助。
无论如何,看起来
to_json
在OpenStruct对象的某处被调用: