Да ли знате како да пренесете податке са мрежних АПИ-ја или да складиштите различите врсте података на своје локалне машине? На овај или онај начин уронили сте у ЈСОН који стоји Ознака објекта Јава Сцрипт. То је познати и популарни формат података који се користи за представљање полуструктурираних података. Детаљно упознајмо више о Питхон ЈСОН-у.
У овом чланку ће бити речи о следећим аспектима:
Увод у ЈСОН у Питхону:
ЈСОН је скраћеница за Ј ава С. крипт ИЛИ бјецт Н. отацијаје начин организованог и лаког чувања информација. Подаци морају бити у облику текста када се размењују између прегледача и сервера.
У случају да се питате да ли је ? онда је одговор не. То је скрипта која се састоји од текста и користи се за чување и пренос података у људском и машински читљивом формату. То је мали, лаган формат података инспирисан ЈаваСцрипт-ом и обично се користи у облику текста или стринга. Пакет од ЈСОН је готово идентичан Питхон речнику. Сад се сигурно питате
Како читати ЈСОН датотеку у Питхону?
Одговор на ваше питање је да морате да увезете ЈСОН модул који генерално претвара Питхон типове података у ЈСОН датотеку низа. Састоји се од ЈСОН функција које читају и пишу директно из ЈСОН датотека. има уграђени ЈСОН пакет и део је стандардне библиотеке, тако да га не морате инсталирати.
Пример:
импорт јсон
Сад кад сте упознати са ЈСОН-ом у Питхону, погледајмо дубље рашчлањивање.
Рашчлањивање:
ЈСОН библиотека може рашчланити ЈСОН из жице или датотеке. Такође може рашчланити ЈСОН на или наведите и учините обрнуто. Рашчлањивање се обично одвија у две фазе:
- Конверзија из ЈСОН-а у Питхон
- Конверзија из Питхона у ЈСОН
Хајде да боље разумемо обе фазе.
Конверзија из ЈСОН-а у Питхон:
Можете претворити ЈСОН низ у Питхон помоћујсон.лоадс ().
Дозволите ми да вам покажем практичну примену:
Пример:
импорт јсон пеопле_стринг = '' '{' пеопле ': [{' емп_наме ':' Јохн смитх ',' емп_но. ':' 924367-567-23 ',' емп_емаил ': [' јохнсмитх@думмиемаил.цом '], 'хас_лиценсе': 'фалсе'}, {'емп_наме': 'харсхит кант', 'емп_нумбер': '560-555-5153', 'емп_емаил': 'нулл', 'хас_лиценсе': 'труе'}]} ' '' дата = јсон.лоадс (пеопле_стринг) принт (подаци)
Излаз:
Као што видите из горњег резултата, одштампао је . Штампајмо тип података ради бољег разумевања.
Пример:
импорт јсон пеопле_стринг = '' '{' пеопле ': [{' емп_наме ':' Јохн смитх ',' емп_но. ':' 924367-567-23 ',' емп_емаил ': [' јохнсмитх@думмиемаил.цом '], 'хас_лиценсе': 'фалсе'}, {'емп_наме': 'харсхит кант', 'емп_нумбер': '560-555-5153', 'емп_емаил': 'нулл', 'хас_лиценсе': 'труе'}]} ' '' дата = јсон.лоадс (пеопле_стринг) принт (типе (дата)) #исписује тип података
Излаз:
Сада, кад сте упознати са једном конверзијом, погледајмо другу врсту конверзије у другој фази.
Конверзија из Питхона у ЈСОН:
Питхон објекат се може претворити у ЈСОН низ помоћујсон.думпс ().
Погледајмо пример дат у наставку:
Пример:
импорт јсон пеопле_стринг = '' '{' пеопле ': [{' емп_наме ':' Јохн смитх ',' емп_но. ':' 924367-567-23 ',' емп_емаил ': [' јохнсмитх@думмиемаил.цом '], 'хас_лиценсе': 'фалсе'}, {'емп_наме': 'харсхит кант', 'емп_но.': '560-555-5153', 'емп_емаил': 'нулл', 'хас_лиценсе': 'труе'}]} '' 'подаци = јсон.лоадс (људи_низ) нев_стринг = јсон.думпс (подаци) испис (нев_стринг)
Излаз:
Излаз ће бити типа ЈСОН низа. Већ сам демонстрирао тип података у конверзији ЈСОН у Питхон, следиће се исти поступак и за штампање типа података.
Идемо напред и видећемо како Панде рашчлањују ЈСОН.
Пандас Парсинг ЈСОН:
ЈСОН низ се може рашчланити на панде Оквир података из следећих корака:
- Следећа генеричка структура може се користити за учитавање ЈСОН низа у ДатаФраме.
увези панде као пд пд.реад_јсон (р'Патх где сте сачували датотеку ЈСОН ФилеФиле Наме.јсон ')
- Припремите ЈСОН низ.
- Направите ЈСОН датотеку коју користимо је нобел_призе.јсон.
- Учитајте ЈСОН датотеку у пандас ДатаФраме.
Доле имплементирани код учитава моју ЈСОН датотеку у ДатаФраме.
увези панде као пд увози јсон са опен (р'Ц: УсерсХарсхит_КантДесктопнобел.призе.јсон ') као ф: дата = јсон.лоад (ф) принт (дата) дф = пд.ДатаФраме принт (дф)
Излаз:
Крећемо напред, да видимо како можете да серилизујете ЈСОН у Питхону.
Серијализација ЈСОН-а [кодирање]:
Серијализација ЈСОН-а једноставно значи да кодирате ЈСОН. Претвара дату структуру података Питхон (нпр: дицт) у свој важећи ЈСОН објекат. За руковање протоком података у датотеци, ЈСОН библиотека у Питхону користи Депонија() и депоније () методом која врши конверзију и олакшава уписивање података у датотеке.
Доље је дата табела која илуструје Питхон типови података претварање у њихов одговарајући ЈСОН тип.
Питхон | ЈСОН |
дикт (речник) | објект |
листа, низ | тупле |
низ | низ |
инт, лонг, флоат | бројеви збир цифара у јави |
Истина | истина |
Нетачно | лажно |
Ниједан | нула |
Тачке које треба запамтити:
Депонија() - Претвара податке у ЈСОН датотеку
депоније () - Претвара податке у ЈСОН низ
лоад () - Претвара ЈСОН датотеку у Питхон објекат
оптерећења () - Претвара објекат ЈСОН низа у Питхон објекат
Претти Принтинг:
Претти Принтинг брине о поравнању кода и чини га у читљивом формату. Погледајмо доњи пример где сам проследио два параметра „сорт_кеис“ који увек враћају логичку вредност Труе и „индент“ размаке.
Пример:
импорт јсон пеопле_стринг = '' '{' пеопле ': [{' емп_наме ':' Јохн смитх ',' емп_но. ':' 924367-567-23 ',' емп_емаил ': [' јохнсмитх@думмиемаил.цом '], 'хас_лиценсе': 'фалсе'}, {'емп_наме': 'харсхит кант', 'емп_но.': '560-555-5153', 'емп_емаил': 'нулл', 'хас_лиценсе': 'труе'}]} '' 'подаци = јсон.лоадс (низ_ људи) нев_стринг = јсон.думпс (подаци, типке_разврставања = Тачно, увлачење = 3) испис (нев_стринг)
Излаз:
Крећући се напред у водичу за Питхон ЈСОН, хајде да схватимо десериализацију ЈСОН-а.
Десеријализација ЈСОН-а [Декодирање]:
Десеријализација ЈСОН-а је сушта супротност сериализацији, тј. То значи да декодирате ЈСОН. Претвара дати ЈСОН низ у Питхон објект коришћењем лоад () и оптерећења () метода која врши конверзију.
Доље је дата табела која илуструје конверзију ЈСОН типа података у његов одговарајући Питхон тип.
ЈСОН | Питхон |
објект | дикт (речник) |
тупле проширује и имплементира заједно у јави | листа, низ |
низ | низ |
бројеви | инт, лонг, флоат |
истина | Истина |
лажно | Нетачно |
нула | Ниједан |
Напредак у водичу „Питхон ЈСОН“. Показаћу вам пример сериализације и десериализације у стварном времену кроз перспективу кодирања.
Демонстрација кодирања:
У овој демонстрацији кодирања користим ЈСОН скуп података назван „Нобелова награда“ који је дат овде . Научићете како се врши сериализација и десериализација истих кроз ЈСОН датотеку.
Пример (сериализација ЈСОН скупа података):
увези јсон са опен ('нобел_призе.јсон.хтмл') као ф: дата = јсон.лоад (ф) са опен ('нев_нобел_призе.јсон.хтмл') као ф: јсон.думп (дата, ф, индент = 2)
Излаз:
се успешно компајлира и креира нова датотека „нев_нобел_призе.јсон“ где се подаци избацују из већ постојеће датотеке „нобел_призе.јсон“.
Пример (Десеријализација ЈСОН скупа података):
увези јсон са отвореним ('нобел_призе.јсон.хтмл') као ф: подаци = јсон.лоад (ф) за нобел_призе у подацима ['награде']: испис (нобел_призе ['година'], нобел_призе ['категорија'])
Излаз:
Фрагмент кода приказује промене из ЈСОН датотеке у њен одговарајући Питхон објекат.
Ово нас доводи до краја нашег чланка „Питхон ЈСОН“. Надам се да су вам јасни сви концепти повезани са ЈСОН-ом, рашчлањивањем, сериализацијом и десеријализацијом.
Обавезно вежбајте што је више могуће и вратите своје искуство.
Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог чланка о Питхон ЈСОН-у и јавићемо вам се што је пре могуће. Да бисте стекли детаљно знање о Питхону, заједно са разним апликацијама, то можете уз наш онлајн онлајн тренинг са подршком 24/7 и доживотним приступом.