Итак, вы хотите знать, как обрабатывать преобразование объектов JSON в Python? Продолжайте читать и узнайте, как это сделать!

Что такое JSON?

JSON расшифровывается как «Обозначение объектов JavaScript» и становится все более популярным способом передачи данных, особенно по сети.

«Объект» в JavaScript всегда заключен в фигурные скобки и содержит одну или несколько пар ключ-значение. «Ключ» — это метка для данного фрагмента данных, а «значение» — это сами данные. Ключ и значение присоединяются друг к другу двоеточием, а пары ключ-значение разделяются запятыми.

Вот пример объекта JavaScript в формате JSON:

{   
    "name": "Aaron",
    "age": 44,
    "is_bald": false,
    "money": null,
    "favorite_colors": ["green", "blue"]
}

Как видите, «ключ» всегда представляет собой строку, заключенную в кавычки. Например, «имя», «возраст» и «деньги» — все это ключи. Однако «значение» может быть любым типом данных JavaScript: строкой, например «Aaron», целым числом, например 44, логическим значением, например false. , массив, например [“зеленый”, “синий”] и т. д.

Благодаря универсальности объектов JavaScript данные JSON можно использовать для представления практически всего, поэтому JSON так популярен!

Использование JSON в Python

Есть много случаев, когда полезно прочитать файл JSON в «dict» (словарь) Python или преобразовать словарь Python в строку JSON. К счастью, Python предоставляет библиотеку, которую мы можем импортировать, чтобы легко обрабатывать файлы JSON!

Сначала импортируйте библиотеку json со следующей строкой:

import json

Теперь предположим, что у вас есть файл, содержащий некоторые данные JSON (например, данные, перечисленные выше). Вы можете открыть файл JSON для чтения с помощью функции open(), заменив ‹my_file› на имя вашего файла JSON:

json_string = open('<my_file>.json')

Убедитесь, что файл JSON находится в той же папке/каталоге, что и ваш файл Python, иначе вам нужно будет добавить путь к файлу перед именем файла, чтобы ваш код мог найти файл.

Если вы не хотите сохранять свой JSON в файл .json, вы можете определить его как переменную непосредственно в Python:

json_string = """{   
    "name": "Aaron",
    "age": 44,
    "is_bald": false,
    "money": null,
    "favorite_colors": ["green", "blue"]
}"""

Чтобы превратить строку JSON в словарь Python, используйте функцию json.loads():

json_dict = json.loads(json_string)

Теперь вы можете получать доступ и записывать данные, содержащиеся в объекте JSON, точно так же, как и в любом другом словаре Python!

#Read the "name" field of the JSON dict:
name = json_dict["name"]
#Update the "money" field of the JSON dict:
json_dict["money"] = 3000.0

Наконец, если вы хотите преобразовать словарь Python обратно в JSON, просто используйте функцию json.dumps():

new_json_string = json.dumps(json_dict)

Вот полный код из нашего примера:

import json
"""
JSON String defined directly. Note: you can also read from a .json file as explained above using json_string = open('<my_file>.json')
"""
json_string = """{   
    "name": "Aaron",
    "age": 44,
    "is_bald": false,
    "money": null,
    "favorite_colors": ["green", "blue"]
}"""
#Convert the JSON String into a Python Dictionary:
json_dict = json.loads(json_string)
#Read the "name" field of the JSON dict:
name = json_dict["name"]
#Update the "money" field of the JSON dict:
json_dict["money"] = 3000.0
#Save the changes to a new JSON String:
new_json_string = json.dumps(json_dict)
#Print the results:
print(new_json_string)

Спасибо, что прочитали, и не стесняйтесь подписаться на меня, чтобы получать новые полезные советы по программированию!