Создание функции для анализа JSON по определенному ключу, а затем применения urlparse к его значению

У меня есть JSON, который выглядит примерно так:

[
    {
    "weburl": "https://google.com/athens",
    "location": "Greece"
    },
    {
    "weburl": "https://google.com/rome",
    "location": "Italy"
    }
    ...
]

Что я хочу сделать, это создать функцию, чтобы передать этот JSON в

  1. Поиск вхождений ключа "weburl" во всем json, и
  2. вызывает urlparse(значение).hostname для замены строкового значения рядом с каждым из ключей "weburl", чтобы включить только имя хоста, и, наконец,
  3. Верните весь этот модифицированный JSON.

У меня возникают проблемы при выполнении этого (в частности, навигации по ключу, значению и вызову urlparse для значения) в Python, и любая помощь будет принята с благодарностью!

Благодарю.

1 ответ

Решение

Поскольку в вашем примере это, кажется, список словарей, и предполагается, что Python-3.x предлагает вам попробовать:

import json
from urllib.parse import urlparse

def f(raw_json):
    dict_list = json.loads(raw_json) # assuming raw_json is a string.
    # if raw_json is already a parsed json then start here:
    for dic in dict_list:
        try:
            dic['weburl'] = urlparse(dic['weburl']).hostname
        except KeyError:
            pass
    return dict_list    
Другие вопросы по тегам