пхп

Како читати и штампати прилично ЈСОН са ПХП-ом

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

Пример-1: Штампање ЈСОН-а без форматирања

јсон_енцоде () функција ПХП користи се за рашчлањивање било којих ЈСОН података. Направите датотеку са именом екп1.пхп са следећим кодом за читање једноставних ЈСОН података и испис резултата. Овде је проглашен асоцијативни низ за генерисање ЈСОН података. Форматирање се не примењује за ЈСОН податке у коду. Дакле, ЈСОН подаци ће се штампати у једном реду у ЈСОН формату.

екп1.пхп

// Деклариши низ
$ цоурсес = арраи ("Модуле-1" => "ХТМЛ", "Модуле-2" => "ЈаваСцрипт", "Модуле-3" => "ЦСС3",
"Модуле-4" => "ПХП");
// Штампање низа у једноставном ЈСОН формату
ецхо јсон_енцоде ($ курсеви);
?>

Излаз:

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

хттп: // лоцалхост / јсон / екп1.пхп

Пример-2: Штампање ЈСОН-а помоћу опције ЈСОН_ПРЕТТИ_ПРИНТ и функције заглавља ()

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

екп2.пхп

// Деклариши низ
$ цоурсес = арраи ("Модуле-1" => "ХТМЛ", "Модуле-2" => "ЈаваСцрипт", "Модуле-3" => "ЦСС3",
"Модуле-4" => "ПХП");
// Обавестите прегледач о типу датотеке помоћу функције заглавља
заглавље ('Тип садржаја: текст / јавасцрипт');
// Штампање низа у једноставном ЈСОН формату
ецхо јсон_енцоде ($ курсеви, ЈСОН_ПРЕТТИ_ПРИНТ);
?>

Излаз:

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

хттп: // лоцалхост / јсон / екп2.пхп

Пример-3: Штампање ЈСОН-а помоћу опције ЈСОН_ПРЕТТИ_ПРИНТ и
 ознака

Обликовање које је примењено у претходном примеру може се извршити коришћењем 'пре'ознака на месту заглавље () функцију. Направите датотеку са именом екп3.пхп са следећим кодом. У овом примеру, почев 'пре' таг се користи пре генерисања ЈСОН података. Излаз ће бити сличан претходном примеру.

екп3.пхп

$ дата_арр = арраи ('Робин Никон' => 'Учење ПХП-а, МиСКЛ-а и ЈаваСцрипт-а',
'Јон Дуцкетт' => 'ХТМЛ и ЦСС: Дизајн и израда веб локација', 'Роб Фостер' =>
„Кувар књига ЦодеИгнитер 2“);
?>

ецхо јсон_енцоде ($ дата_арр, ЈСОН_ПРЕТТИ_ПРИНТ);
?>

Излаз:

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

хттп: // лоцалхост / јсон / екп3.пхп

Пример-4: Шарено ЈСОН штампање помоћу прилагођене функције

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

екп4.пхп

// Дефинишите велики јсон податак
$ дата = '"квиз банка": "Рачунар": "к1": "питање": "ко је проналазач
рачунар?"," оптионс ": [" Тхомас Алва Едисон "," Цхарлес Баббаге "," Блаисе Пасцал ",
"Пхило Фарнсвортх"], "одговор": "Цхарлес Баббаге", "к2": "питање":
„који је од следећих улазни уређај?"," оптионс ": [" Штампач "," Скенер “,
"Монитор", "Кеибоард"], "ансвер": "Кеибоард", "ПХП": "к1": "куестион":
„Која је врста језика ПХП?"," оптионс ": [" Хигх Левел Лангуаге "," Лов левел
Језик "," Језик скриптирања "," Језик скупштине "]," одговор ":" Језик скриптовања ",
"к2": "куестион": "Који је пуни облик ПХП-а?"," оптионс ": [" Хипертект Препроцессор ",
„Лични кућни пакет“, „Процесор хипертекста“, „Пердонална ХТМЛ страница“], „одговор“:
"Хипертект Препроцессор" ';
// позивамо прилагођену функцију за форматирање јсон података
ецхо претти_принт ($ дата);
// Прогласите прилагођену функцију за форматирање
функција претти_принт ($ јсон_дата)

// Иницијализација променљиве за додавање простора
$ простор = 0;
$ застава = нетачно;
//Користећи
 ознака за форматирање поравнања и фонта
одјек "
";
// петља за понављање пуних јсон података
фор ($ бројач = 0; $ бројач
// Провера завршетка друге и треће заграде
иф ($ јсон_дата [$ цоунтер] == '' || $ јсон_дата [$ цоунтер] == ']')

$ спаце--;
ецхо "\ н";
ецхо стр_репеат (", ($ размак * 2));

 
// Провера двоструких наводника (“) и зареза (,)
иф ($ јсон_дата [$ цоунтер] == '"' && ($ јсон_дата [$ цоунтер-1] == ',' ||
$ јсон_дата [$ цоунтер-2] == ','))

ецхо "\ н";
ецхо стр_репеат (", ($ размак * 2));

иф ($ јсон_дата [$ цоунтер] == '"' && !$ флаг)

иф ($ јсон_дата [$ цоунтер-1] == ':' || $ јсон_дата [$ цоунтер-2] == ':')
// Додајте форматирање за питање и одговор
одјек '';
иначе
// Додајте форматирање за опције одговора
одјек '';

ецхо $ јсон_дата [$ цоунтер];
// Провера услова за додавање закључне ознаке распона
иф ($ јсон_дата [$ цоунтер] == '"' && $ флаг)
одјек '
';
иф ($ јсон_дата [$ цоунтер] == '"')
$ застава = !$ флаг;
// Провера почетне друге и треће заграде
иф ($ јсон_дата [$ цоунтер] == '' || $ јсон_дата [$ цоунтер] == '[')

$ простор ++;
ецхо "\ н";
ецхо стр_репеат (", ($ размак * 2));


одјек "
";

?>

Излаз:

Следећи излаз ће се појавити након извршавања датотеке из прегледача. Овде ће се одштампати свако питање и одговор на ЈСОН податке Плави боја и одважан формату, а други део ће се одштампати црвена боја.

хттп: // лоцалхост / јсон / екп4.пхп

Закључак

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

Како користити Ксдотоол за подстицање кликова мишем и притиска тастера у Линуку
Ксдотоол је бесплатан алат за командну линију отвореног кода за симулацију кликова мишем и притиска тастера. Овај чланак ће покрити кратак водич о кор...
Топ 5 ергономских производа за рачунарски миш за Линук
Да ли дуготрајна употреба рачунара изазива бол у зглобу или прстима? Патите ли од укочених зглобова и стално морате да се рукујете? Да ли осећате гору...
Како променити поставке миша и додирне табле помоћу Ксинпут-а у Линук-у
Већина Линук дистрибуција подразумевано испоручује библиотеку „либинпут“ за обраду улазних догађаја на систему. Може да обрађује улазне догађаје и на ...