Как читать и записывать в файл 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)
И если вы хотите объединить два списка в один перед записью их в файл 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:
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.