Ruby on Rails JSON.parse“意外令牌”错误

问题描述:

我想在我的Rails 4应用程序中用JSON.parse来解析JSON数据。我不断收到此错误:Ruby on Rails JSON.parse“意外令牌”错误

757: unexpected token at '<?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>BB0CDD4F68DBE9C0</RequestId><HostId>SwLqpcx7wpspbYzXONm1XGRG46dGHxnDroplppsxqtU4v/iVwEGOvpRWpBNR+LMPduTldva/5Nk=</HostId></Error>' 

enter image description here

+2

看起来响应不是JSON格式。你看错误信息了吗? –

+0

[Ruby on Rails JSON.parse意外令牌错误]的可能重复(https://stackoverflow.com/questions/5130822/ruby-on-rails-json-parse-unexpected-token-error) – halfer

+0

问题请“请帮助我“倾向于寻求高度本地化的指导,或者在某些情况下寻求持续或私人的援助,这不适合我们的问答形式。它也相当模糊,更好地用更具体的问题来代替。请阅读[为什么“有人可以帮助我?”不是一个实际的问题?](// meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question ) – halfer

貌似错误响应不作为JSON返回。你可以做这样的事情:

def reviews 
    JSON.parse(reviews_json)['Reviews'] 
rescue JSON::ParserError 
    [] 
end