Ruby on sinatra,JSON :: parserError问题和757:意外令牌

时间:2016-11-20 09:02:08

标签: json ruby parsing hash sinatra

我在Ruby上用sinatra使用rest API。 我从IAMPORT ,,,

获得了付款信息
def get_authrestapi()
    @key = IMP_KEY
    @secret = IMP_SECRET

    response = RestClient.post 'https://api.iamport.kr/users/getToken', {'imp_key' => @key, 'imp_secret' => @secret}, :accept => :json

    json = JSON.parse(response.to_json, symbolize_names: true)

    return json['response']['access_token']
end

但是,我收到了错误消息......如下所示

Jason :: ParserError at / payments 757:'{\“code \”的意外令牌:0,\“message \”:null,\“response \”:{\“access_token \”:\“9898 ....“,”......“}}”''

我该如何解决这个问题?我认为,有变量'json'不是HASH的问题..

感谢。

1 个答案:

答案 0 :(得分:1)

不要将响应转换为json。它已经是json。

替换以下行:

json = JSON.parse(response.to_json, symbolize_names: true)

使用:

json = JSON.parse(response, symbolize_names: true)