Только для чтения нужных частей файла JSON

Я использую локальный файл JSON, чтобы получить название страны из кода страны.

Я не хочу читать весь файл в строку, а только ту часть, которая соответствует указанному коду страны.

Это шаблон файла JSON:

{
    "name": {
        "common": "Austria",
        "official": "Republic of Austria",
        "native": {
            "bar": {
                "official": "Republik Österreich",
                "common": "Österreich"
            }
        }
    },
    "tld": [".at"],
    "cca2": "AT",
    "ccn3": "040",
    "cca3": "AUT",
    "cioc": "AUT",
    "currency": ["EUR"],
    "callingCode": ["43"],
    "capital": "Vienna",
    "altSpellings": ["AT", "Osterreich", "Oesterreich"],
    "region": "Europe",
    "subregion": "Western Europe",
    "languages": {
        "bar": "Austro-Bavarian German"
    },
    "translations": {
        "cym": {"official": "Republic of Austria", "common": "Awstria"},
        "deu": {"official": "Republik Österreich", "common": "Österreich"},
        "fra": {"official": "République d'Autriche", "common": "Autriche"},
        "hrv": {"official": "Republika Austrija", "common": "Austrija"},
        "ita": {"official": "Repubblica d'Austria", "common": "Austria"},
        "jpn": {"official": "オーストリア共和国", "common": "オーストリア"},
        "nld": {"official": "Republiek Oostenrijk", "common": "Oostenrijk"},
        "por": {"official": "República da Áustria", "common": "Áustria"},
        "rus": {"official": "Австрийская Республика", "common": "Австрия"},
        "spa": {"official": "República de Austria", "common": "Austria"}
    },
    "latlng": [47.33333333, 13.33333333],
    "demonym": "Austrian",
    "landlocked": true,
    "borders": ["CZE", "DEU", "HUN", "ITA", "LIE", "SVK", "SVN", "CHE"],
    "area": 83871
}

Любые предложения о том, как прочитать только этот важный бит в строку?


person Daniela Maia    schedule 28.09.2016    source источник
comment
Без необходимости менять так много? Просто сдаться и оставить все как есть. Встроенный анализатор JSON загружает все в память. Если вы этого не хотите, вам нужно найти или написать другой анализатор JSON.   -  person Álvaro González    schedule 28.09.2016
comment
Я не хочу считывать весь файл в строку. Хотя теоретически вы могли бы написать собственный синтаксический анализатор, который считывает его токен за токеном… это был бы действительно сложный подход к проблеме. Вы должны быть смехотворно ограничены в памяти, чтобы это было стоящим… и в этом случае вы не будете использовать для этого PHP!   -  person Quentin    schedule 28.09.2016