我在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的问题..
感谢。
答案 0 :(得分:1)
不要将响应转换为json。它已经是json。
替换以下行:
json = JSON.parse(response.to_json, symbolize_names: true)
使用:
json = JSON.parse(response, symbolize_names: true)