如何从 Rails 上的 Ruby 中的 JSON 中提取数据

How to extract data from JSON in Ruby on Rails

我收到了来自 httparty 的 JSON 回复:

{
    "banks": [{
        "sync_frequency": null,
        "code": null,
        "uuid": "2ac14818-59fb-50cf-b3e4-3bddcdfefcae",
        "documents_type": [],
        "color": "003d8f",
        "id": 479,
        "available_transfer_mechanisms": [],
        "auth_mechanism": "credentials",
        "capabilities": ["document"],
        "transfer_beneficiary_types": [],
        "available_auth_mechanisms": ["credentials"],
        "beta": true,
        "months_to_fetch": null,
        "urls": ["https://login.ionos.fr", "https://my.ionos.fr"],
        "siret": null,
        "hidden": false,
        "charged": true,
        "slug": "1&1",
        "categories": [],
        "name": "1&1"
    }, {
        "sync_frequency": null,
        "code": null,
        "uuid": "fabe9547-ba74-5f8c-a790-f5ecc7c4626b",
        "documents_type": [],
        "color": "ffa500",
        "id": 492,
        "available_transfer_mechanisms": [],
        "auth_mechanism": "credentials",
        "capabilities": ["document"],
        "transfer_beneficiary_types": [],
        "available_auth_mechanisms": ["credentials"],
        "beta": true,
        "months_to_fetch": null,
        "urls": ["http://www.avantages-entreprises.com"],
        "siret": null,
        "hidden": false,
        "charged": true,
        "slug": "ACE",
        "categories": [],
        "name": "aceos"
    }, {
        "sync_frequency": null,
        "code": null,
        "uuid": "5f778b18-d10e-5ffd-98a9-ed61d1d39f9b",
        "account_types": ["perp", "madelin", "lifeinsurance"],
        "documents_type": [],
        "color": "005090",
        "id": 406,
        "available_transfer_mechanisms": [],
        "auth_mechanism": "credentials",
        "capabilities": ["bankwealth", "document", "bank"],
        "transfer_beneficiary_types": [],
        "available_auth_mechanisms": ["credentials"],
        "beta": false,
        "months_to_fetch": null,
        "urls": ["https://identification.adis-assurances.com", "https://www.agipi.com", "https://connexion.adis-assurances.com"],
        "siret": null,
        "hidden": false,
        "charged": true,
        "slug": "AGI",
        "categories": [],
        "name": "Agipi"
    }]
}

我尝试获取所有 "name" 值,例如 "1&1""aceos""Agipi" 等...

知道如何获得它们吗? 谢谢

这看起来像是一个不完整的 JSON 回复。

试试 JSON.parse[]map

require 'json'

JSON.parse(foo)['banks'].map { |e| e['name'] } # ["1&1", "aceos", "Agipi"]