Как читать и записывать в файл JSON в Python

Нотация объектов JavaScript (JSON) – это мощный инструмент программирования для быстрого обмена данными между различными платформами программирования. Независимо от того, храните ли вы данные или создаете API, преобразование данных в JSON делает их повторно используемыми и вызываемыми, независимо от технологии доступа к ним.

Чтобы способствовать эффективному взаимодействию между Python и другими языками программирования, включая JavaScript, вы можете предоставить свои данные в виде объекта JSON.

Вот как читать и записывать в файл JSON в Python.

Как писать напрямую в файл JSON

Между объектом JSON и словарем Python есть тонкая грань.

Так что легко хранить словарь Python в формате JSON. Но чтобы он заработал, вам понадобится библиотека парсера json .

Для начала создайте файл JSON в корневом каталоге проекта.

Создайте и откройте файл Python в том же каталоге. Затем вы можете записать словарь в файл JSON с помощью Python:

 import json
data = {"MUO":"Media", "Google":"Search", "Python":"Language"}
with open("myfile.json", "w") as j:
json.dump(data, j)

Вы также можете записать в свой файл более сложный массив:

 import json
data = {"Sites":[{"MUO":"Media", "Google":"Search", "Python":"Language"}]}
with open("myfile.json", "w") as j:
json.dump(data, j)

Как сохранить список в формате JSON в Python

У вас может быть список или два, и вы хотите сохранить их как JSON. Хорошая практика – преобразовать их в словарь перед записью в файл JSON.

Есть много способов преобразовать список в словарь Python .

В приведенном ниже примере кода список преобразуется в словарь перед записью в объект JSON:

 import json
data = ["MUO", "Media", "Google", "Search", "Python", "Language"]
data = {data[i]:data[i+1] for i in range(0, len(data), 2)} #convert data into a dictionary
with open("myfile.json", "w") as j:
json.dump(data, j)

Связанный: Как использовать циклы For в Python

И если вы хотите объединить два списка в один перед записью их в файл JSON:

 import json
data = ["MUO", "Google", "Python"]
data2 = ["Media", "Search", "Language"]
outputData = {data[i]:data2[i] for i in range(len(data))} #merge the two lists into a dictionary
with open("myfile.json", "w") as j:
json.dump(outputData, j)

Доступ к вашим данным JSON

С помощью Python легко получить доступ и запросить данные из файла JSON:

 import json
with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata)
Output: {'MUO': 'Media', 'Google': 'Search', 'Python': 'Language'}

Узнать больше: как читать JSON с помощью Python

И если вы хотите получить конкретные данные из вашего файла JSON:

 with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata["MUO"])
Output: Media

Выполняйте запросы быстрее в Python с помощью JSON

Помимо того, что объекты JSON являются кроссплатформенными, они легкие и могут улучшить скорость ответа во время запросов. И, как вы видели, сделать выходные данные доступными в виде объектов JSON в Python просто.

Однако могут быть некоторые различия между приведенными здесь примерами и реальной реализацией в реальном проекте. Это базовые знания, необходимые для начала работы. К счастью, вы даже можете использовать базу данных NoSQL, такую ​​как CouchDB, с Python для хранения входных данных напрямую как JSON.