Знаете ли как да транспортирате данните си от онлайн API или да съхранявате различни видове данни на вашите локални машини? По един или друг начин сте се потопили в JSON, което означава Обозначение на обект на Java Script. Това е известен и популярен формат на данни, използван за представяне на полуструктурирани данни. Нека да се запознаем подробно с Python JSON в детайли.
В тази статия ще бъдат обсъдени следните аспекти:
Въведение в JSON в Python:
JSON означава J ava С крипт ИЛИ bject н отацияе начин за съхраняване на информация по организиран и лесен начин. Данните трябва да бъдат под формата на текст, когато се обменят между браузър и сървър.
В случай, че се чудите дали е така ? тогава отговорът е не. Това е скрипт, който е съставен от текст и се използва за съхраняване и прехвърляне на данни в човешки и машинно четим формат. Това е малък, лек формат за данни, вдъхновен от JavaScript и обикновено използван в текстов или низ формат. Пакет от JSON е почти идентичен с речник на python. Сигурно се чудите
Как да чета JSON файл в Python?
Отговорът на въпроса ви е, че трябва да импортирате JSON модула, който обикновено преобразува типовете данни на Python в JSON низ файла. Състои се от JSON функции, които четат и пишат директно от JSON файлове. има вграден JSON пакет и е част от стандартната библиотека, така че не е необходимо да го инсталирате.
Пример:
импортиране json
След като вече знаете JSON в Python, нека разгледаме по-задълбочено разбор.
Разбор:
Библиотеката JSON може да анализира JSON от струни или файлове. Той може също да анализира JSON в или направете списък и направете обратното. Разборът обикновено се извършва на два етапа:
- Преобразуване от JSON в Python
- Преобразуване от Python в JSON
Нека да разберем по-добре и двата етапа.
Преобразуване от JSON в Python:
Можете да конвертирате JSON низ в Python, като използватеjson.loads ().
Позволете ми да ви покажа практическото изпълнение:
Пример:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (data)
Изход:
Както можете да видите от горния изход, той е отпечатал . Нека отпечатаме типа данни за по-добро разбиране.
Пример:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) # отпечатва типа данни
Изход:
Сега, след като сте запознати с едно преобразуване, нека да видим другия тип преобразуване на втория етап.
Преобразуване от Python в JSON:
Обект на Python може да бъде преобразуван в JSON низ с помощта наjson.dumps ().
Нека да разгледаме един пример, даден по-долу:
Пример:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) print (new_string)
Изход:
Изходът ще бъде от тип JSON низ. Вече демонстрирах типа данни в JSON за преобразуване в Python, следва се същата процедура за отпечатване на типа данни.
Нека да продължим напред и да видим как Pandas анализират JSON.
Pandas анализиране JSON:
JSON низ може да бъде анализиран в панди Кадър от следните стъпки:
обърнете число в python
- Следната родова структура може да се използва за зареждане на JSON низ в DataFrame.
импортирайте панди като pd pd.read_json (r'Path, където сте запазили JSON fileFile Name.json ')
- Подгответе JSON низ.
- Създайте JSON файл, който използваме, е nobel_prize.json.
- Заредете JSON файла в pandas DataFrame.
Приложеният по-долу код зарежда моя JSON файл в DataFrame.
импортирайте панди като pd импортирайте json с open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') като f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Изход:
Продължавайки напред, нека видим как можете да сериализирате JSON в Python.
Сериализация на JSON [Кодиране]:
Сериализирането на JSON просто означава, че кодирате JSON. Той преобразува дадената структура от данни на Python (например: dict) в своя валиден JSON обект. За да се справи с потока от данни във файл, JSON библиотеката в Python използва изхвърляне () и сметища () метод, който прави преобразуването и улеснява записването на данни във файлове.
По-долу е дадена таблица, илюстрираща Python типове данни конвертиране в съответния им тип JSON.
Python | JSON |
дикт (речник) | обект |
списък, масив | кортеж |
низ | низ |
int, long, float | числа |
Вярно | вярно |
Невярно | невярно |
Нито един | нула |
Точки за запомняне:
изхвърляне () - Преобразува данните в JSON файл
сметища () - Преобразува данните в JSON низ
зареждане () - Преобразува JSON файла в обект на Python
товари () - Преобразува обект от JSON низ в обект на Python
Хубав печат:
Pretty Printing се грижи за подравняването на кода и го прави в разбираем за човека формат. Нека да разгледаме примера по-долу, където съм предал два параметъра ‘sort_keys’, който винаги връща булева стойност True и ‘отстъп’.
Пример:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)
Изход:
Продължавайки напред в урока по Python JSON, нека разберем десериализацията на JSON.
Десериализация на JSON [Декодиране]:
Десериализацията на JSON е точно обратното на сериализацията, т.е. това означава, че декодирате JSON. Той преобразува дадения JSON низ в Python обект чрез използване на зареждане () и товари () метод, който прави преобразуването.
По-долу е дадена таблица, която илюстрира преобразуването на типа данни JSON в съответния му тип Python.
JSON | Python |
обект | дикт (речник) |
кортеж | списък, масив android studio ui дизайн урок |
низ | низ |
числа | int, long, float |
вярно | Вярно |
невярно | Невярно |
нула | Нито един |
Продължаване в урока „Python JSON“. Ще ви покажа пример в реално време както за сериализация, така и за десериализация чрез перспектива за кодиране.
Демонстрация на кодиране:
В тази демонстрация на кодиране използвам JSON набор от данни, наречен „Нобелова награда“, който се дава тук . Ще научите как да правите сериализация и десериализация на същото чрез JSON файл.
Пример (сериализиране на JSON набор от данни):
импортирайте json с open ('nobel_prize.json.html') като f: data = json.load (f) с open ('new_nobel_prize.json.html') като f: json.dump (data, f, indent = 2)
Изход:
се компилира успешно и се създава нов файл „new_nobel_prize.json“, където данните се изхвърлят от вече съществуващ файл „nobel_prize.json“.
Пример (десериализация на JSON набор от данни):
импортирайте json с отворен ('nobel_prize.json.html') като f: data = json.load (f) за nobel_prize в данни ['награди']: печат (nobel_prize ['година'], nobel_prize ['категория'])
Изход:
Кодовият фрагмент показва промените от JSON файл към съответния му обект Python.
Това ни води до края на нашата статия „Python JSON“. Надявам се, че сте наясно с всички концепции, свързани с JSON, парсинг, сериализация и десериализация.
Уверете се, че практикувате възможно най-много и връщате опита си.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия за Python JSON и ние ще се свържем с вас възможно най-скоро. За да получите задълбочени познания за Python заедно с различните му приложения, можете с нашето онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.