私はJSON応答を返すAPI呼び出しを使用しています。レスポンス内のデータにアクセスしたいので、情報と写真を表示する素敵なディスプレイカードを作成できます。私はJSON.parseを使用していると私がしようとしている私のRailsのコントローラで深くネストされた配列の値へのアクセス - 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"
},
:ここでは、応答からの抜粋である、応答性は、私はちょうど2つの簡潔さのために含まれます約20のオブジェクトが移入されますオープン構造体オプション付きオブジェクトにそれを回す:私の見解では
@markets = JSON.parse(markets.to_json, object_class: OpenStruct)
私はこれ<%[email protected]%>
をやる、それが配列ではなくオブジェクトを示しています。だから私はこれを試してみる<%[email protected]%>
そしてそれは1を示します。私が<%[email protected][0]['success']%>
をするなら、私はそれが真を返すと思いますが、それは「成功」を返します。だから、私はostructライブラリが私が期待するように動作しない理由、または結果配列に格納されたオブジェクトにどのように到達できるのか理解できません。どんな助けでも大歓迎です!
.to_jsonを削除すると、「Tempfileを文字列に暗黙的に変換しない」というエラーが表示されます。 –
あなたはそのデータを取得する要求を行う方法を示すことができますか? –