我正在使用返回JSON响应的API调用。我想访问响应中的数据,以便我可以创建一些显示信息和图片的好显示卡。下面是从响应片段,响应属性与约20个对象填充我将只包括两个用于简洁:在深度嵌套数组中访问值 - Ruby on Rails
{
"success": true,
"message": "",
"result": [
{
"MarketCurrency": "LTC",
"BaseCurrency": "BTC",
"MarketCurrencyLong": "Litecoin",
"BaseCurrencyLong": "Bitcoin",
"MinTradeSize": 1e-8,
"MarketName": "BTC-LTC",
"IsActive": true,
"Created": "2014-02-13T00:00:00",
"Notice": null,
"IsSponsored": null,
"LogoUrl": "https://i.imgur.com/R29q3dD.png"
},
{
"MarketCurrency": "DOGE",
"BaseCurrency": "BTC",
"MarketCurrencyLong": "Dogecoin",
"BaseCurrencyLong": "Bitcoin",
"MinTradeSize": 1e-8,
"MarketName": "BTC-DOGE",
"IsActive": true,
"Created": "2014-02-13T00:00:00",
"Notice": null,
"IsSponsored": null,
"LogoUrl": "https://i.imgur.com/e1RS4Hn.png"
},
在我的Rails控制器我使用JSON.parse和我试图与开放式结构的选择把它变成一个对象:
@markets = JSON.parse(markets.to_json, object_class: OpenStruct)
在我看来,我会做到这一点<%[email protected]%>
,它显示了阵列和没有反对。所以我尝试这个<%[email protected]%>
它显示1.如果我做<%[email protected][0]['success']%>
我希望它返回true,但它返回'成功'。所以,我不明白为什么ostruct库不能像我期望的那样工作,或者我可以如何访问存储在结果数组中的对象。任何帮助是极大的赞赏!
如果我删除.to_json,我得到这个错误,“没有将Tempfile隐式转换为字符串”。 –
您能否展示您提出请求获取该数据的方式? –