我正在使用返回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隱式轉換爲字符串」。 –
您能否展示您提出請求獲取該數據的方式? –