Питхон

Направите ЈСОН одговор у Питхону

Направите ЈСОН одговор у Питхону

Датотека ЈСОН (ЈаваСцрипт Објецт Нотатион) је веома популаран медиј за размену података између различитих формата. Садржи податке у текстуалном формату који подржавају различити језици као што су Питхон, ПХП, ПЕРЛ итд. Главна сврха ЈСОН датотеке је пренос података између сервера и клијента. Питхон генерише захтеве за преузимање података из одређеног УРИ-ја ресурса. Ако се одговор на захтев врати у ЈСОН формату, садржај одговора може се преузети помоћу одговора.јсон () функција. Враћа одговор употребом објекта Питхон речника. Како ће се ова функција користити за рашчлањивање ЈСОН одговора помоћу Питхон библиотеке захтева, биће приказано у овом упутству.

ЈСОН одговор:

Захтевни модул Питхона садржи ЈСОН декодер за рад са ЈСОН подацима. Одговор.јсон () функција враћа ЈСОН одговор ако ЈСОН декодер ради исправно. Одговор.јсон () функција покреће изузетак ако ЈСОН декодер не успије и ЈСОН одговор не садржи никакве податке или неваљане податке. Повратна вредност одговора.функцију раисе_фор_статус () или одговор.статус_цоде је потребно проверити пре извршавања одговора.јсон () функција.

Различите употребе одговора.јсон ():

Три различите употребе одговора.јсон () функција ће бити приказана у овом делу упутства.

Пример-1: Једноставно коришћење одговора.јсон ()

Једноставна употреба одговора.јсон () функција ће бити објашњена у овом примеру. Одговор на захтев за добијање УРИ-ја, хттпс: // апи.гитхуб.цом / се чува у променљивој која се зове одговор. Затим се проверава вредност променљиве одговора. Ако променљива одговора садржи неважећи одговор, исписат ће поруку о грешци. Ако променљива одговора садржи важећи одговор који је статусни код одговора и његов садржај, исписат ће се порука о успјеху.

# Увоз захтева модула
захтеви за увоз
# Креирајте захтев за добијање
одговор = захтеви.гет ('хттпс: // апи.гитхуб.цом / ')
# Проверите одговор
ако одговор:
# Одштампајте код статуса одговора
принт ('Статусни код одговора је% д'% одговор.статус_цоде)
# Одштампајте ЈСОН садржај
принт ('Садржај ЈСОН-а је: \ н% с'% одговор.јсон ())
# Одштампајте поруку о успеху
принт ('\ нЗахтев је успешно решен.')
иначе:
# Одштампајте поруку о грешци за неважећи одговор
принт ('Неважећи одговор.')

Излаз:

Следећи излаз ће се појавити након извршавања горње скрипте.

Пример-2: Коришћење одговора.јсон () са руковањем изузетком

Начин коришћења одговора.јсон () функција са руковањем изузецима биће приказана у овом примеру. Модул ХттпЕррор се увози са модулом захтева у скрипти ради обраде изузетка. Овде ће кориснику бити узета УРИ адреса ради коришћења захтева.гет () функција. Одговор овог захтева биће ускладиштен у променљивој одговора. Следеће, одговор.Функција раисе_фор_статус () користи се за проверу одговора на захтев да ли је важећи или неважећи. Ако је одговор неваљан, тада ће се генерисати изузетак и на основу изузетка ће се извршити код било ког осим блока. Ако је одговор важећи, тада ће се садржај променљиве одговора поновити помоћу петље фор да би се исписале вредности речника у сваком реду који садржи податке о одговору.

# Увоз захтева модула
захтеви за увоз
# Увезите ХТТПЕррор за руковање изузецима
из захтева.изузеци увозе ХТТПЕррор
# Дефинишите УРИ
ури = инпут ('Унесите важећи УРИ: \ н')
# Штампање поруке на чекању
принт ('Чека се одговор ... \ н')
покушати:
# Креирајте захтев за добијање за читање садржаја фидова фитхуб-а
одговор = захтеви.добити (ури)
# Повећајте изузетак ако је одговор био неуспешан
одговор.раисе_фор_статус ()
# Прочитајте ЈСОН садржај
јсонРеспонсе = одговор.јсон ()
принт ("Садржај ЈСОН-а је: \ н")
# Прочитајте и одштампајте сваки пар кључ / вредност из ЈСОН одговора
за кључ, вредност у јсонРеспонсе.предмета ():
испис (кључ, ":", вредност)
# Штампање поруке о грешци за ХТТП грешку
осим ХТТПЕррор као хттп_ерр:
принт ('Дошло је до ХТТП грешке:% с'% хттп_ерр)
# Штампање поруке о грешци за ХТТП грешку
осим изузетка као грешке:
принт ('Дошло је до друге грешке:% с'% грешка)

Излаз:

Следећи излаз ће се појавити након извршавања скрипте када корисник пружи непостојећу вредност УРИ-ја. Овде је изузетак ХТТПЕррор генерисан заједно са одговарајућом поруком о грешци.


Следећи излаз ће се појавити након извршавања скрипте када корисник наведе неважећу вредност УРИ-ја. Овде је генерисан други изузетак са одговарајућом поруком о грешци.

Следећи излаз ће се појавити након извршавања скрипте када ће корисник обезбедити важећу УРИ вредност. Овде је ЈСОН садржај правилно одштампан.

Пример-3: Коришћење одговора.јсон () са низом упита

Начин коришћења одговора.јсон () функција са низом упита биће приказана у овом примеру. Ево захтева.гет () функција је користила вредност низа упита са УРИ-јем користећи парамс. Претражит ће уносе за језик ПЕРЛ у датим спремиштима. Ако променљива одговора садржи важећи одговор, тада ће се одштампати име и опис спремишта, у супротном ће се појавити порука о грешци.

# Увоз захтева модула
захтеви за увоз
# Претраживање у гитхуб-овом спремишту помоћу низа упита
одговор = захтеви.добити(
'хттпс: // апи.гитхуб.цом / сеарцх / репоситориес ',
парамс = 'к': 'захтеви + језик: перл',
)
# Проверите одговор
ако одговор:
# Прочитајте ЈСОН садржај
јсон_респонсе = одговор.јсон ()
# Прочитајте одређену ставку спремишта
репозиториј = јсон_респонсе ['предмети'] [0]
# Одштампајте име спремишта
принт ('Име спремишта:% с'% спремиште ["име"])
# Одштампајте опис спремишта
принт ('Опис спремишта:% с'% спремиште ["опис"])
иначе:
# Одштампајте поруку о грешци за неважећи одговор
принт ('Неважећи одговор.')

Излаз:

Следећи излаз ће се појавити након извршавања горње скрипте. Овде су одштампани назив спремишта и опис за језик ПЕРЛ.

Закључак:

Различити начини за слање захтева на одређени УРИ и читање одговора помоћу одговора.јсон () функција је приказана у овом упутству на једноставним примерима. Надам се да ће овај водич помоћи читаоцима да разумеју употребу ЈСОН одговора у Питхону и правилно га примене у свом скрипту када је то потребно.

Како развити игру на Линуку
Пре деценију, није много корисника Линука предвидело да ће њихов омиљени оперативни систем једног дана бити популарна платформа за играње комерцијални...
Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...