Рубрики

JSON форматирование в Python

Нотация объектов Javascript, сокращенно JSON, представляет собой облегченный формат обмена данными. Он кодирует объекты Python как строки JSON и декодирует строки JSON в объекты Python.

  • Многие из API, такие как Github . пришлите свои результаты в этом формате. JSON, вероятно, наиболее широко используется для связи между веб-сервером и клиентом в приложении AJAX, но не ограничивается этой проблемной областью.
  • Например, если вы пытаетесь создать захватывающий проект, подобный этому , нам нужно отформатировать вывод JSON для получения необходимых результатов. Итак, давайте погрузимся в модуль json, который предлагает Python для форматирования вывода JSON.

функции

  • json.dump (obj, fileObj) : Сериализуется как поток в формате JSON для.
  • json.dumps (obj) : Сериализуется как строка в формате JSON.
  • json.load (JSONfile) : десериализуется в объект Python.
  • json.loads (JSONfile) : десериализует (тип: строка) в объект Python.
  • Классы

  • JSONEncoder: класс кодировщика для преобразования объектов Python в формат JSON.
  • JSONDecoder: класс декодера для преобразования файла формата JSON в Python obj.
  • Конверсии основаны на этой таблице конверсий .


    Реализация

    кодирование
    Мы будем использовать dump (), dumps () и класс JSON.Encoder.

    # Код будет работать в Python 3

      

    from io import StringIO

    import json

      

    fileObj = StringIO()

    json.dump(["Hello", "Geeks"], fileObj)

    print("Using json.dump(): "+str(fileObj.getvalue()))

      

    class TypeEncoder(json.JSONEncoder):

        def default(self, obj):

            if isinstance(obj, type):

                return str(obj)

      

    print("Using json.dumps(): "+str(json.dumps(type(str), cls=TypeEncoder)))

    print("Using json.JSONEncoder().encode"+

          str(TypeEncoder().encode(type(list))))

    print("Using json.JSONEncoder().iterencode"+

          str(list(TypeEncoder().iterencode(type(dict)))))

    Выход:

    Using json.dump(): ["Hello", "Geeks"]
    Using json.dumps(): ""
    Using json.JSONEncoder().encode""
    Using json.JSONEncoder().iterencode['""']
    

    Декодирование
    Мы будем использовать load (), load () и класс JSON.Decoder.

    # Код будет работать в Python 3

      

    from io import StringIO

    import json

      

    fileObj = StringIO('["Geeks for Geeks"]')

    print("Using json.load(): "+str(json.load(fileObj)))

    print("Using json.loads(): "+str(json.loads('{"Geeks": 1, "for": 2, "Geeks": 3}')))

    print("Using json.JSONDecoder().decode(): " +

        str(json.JSONDecoder().decode('{"Geeks": 1, "for": 2, "Geeks": 3}')))

    print("Using json.JSONDecoder().raw_decode(): " +

        str(json.JSONDecoder().raw_decode('{"Geeks": 1, "for": 2, "Geeks": 3}')))

    Выход:

    Using json.load(): ['Geeks for Geeks']
    Using json.loads(): {'for': 2, 'Geeks': 3}
    Using json.JSONDecoder().decode(): {'for': 2, 'Geeks': 3}
    Using json.JSONDecoder().raw_decode(): ({'for': 2, 'Geeks': 3}, 34)
    
    

    Ссылка:

    Эта статья предоставлена Шри Санкет Уппалапати . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

    Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

    Рекомендуемые посты:

    JSON форматирование в Python

    0.00 (0%) 0 votes