我正在进行API调用并收到以下响应:
{
"id": "http://www.google.com/",
"shares": 8262403,
"comments": 827
}
当我这样做时:
api_call["shares"]
它只返回
shares
...我想要“股票”的价值,所以我有份额。我错过了什么?
答案 0 :(得分:3)
您需要使用JSON
:
require 'json'
str = '{
"id": "http://www.google.com/",
"shares": 8262403,
"comments": 827
}'
JSON.parse(str)['shares'] # => 8262403
当我执行
api_call["shares"]
时,它只返回shares
。
这是因为您的回复是String
。现在你要调用String#[]
方法。文档str[match_str] → new_str or nil
说 - 如果给出match_str,则返回该字符串,如果它出现在字符串中。
str['shares'] # => shares
正如我所提到的,这是根据文档发生的。您的响应字符串有一个子字符串shares
,在String#[]
调用中作为方法调用str['shares']
返回。