{"id":12575,"date":"2023-11-06T14:09:18","date_gmt":"2023-11-06T13:09:18","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=12575"},"modified":"2023-11-06T14:09:18","modified_gmt":"2023-11-06T13:09:18","slug":"jak-formatowac-odpowiedz-json-w-php","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/","title":{"rendered":"Jak formatowa\u0107 odpowied\u017a JSON w PHP"},"content":{"rendered":"<p>SON (JavaScript Object Notation) sta\u0142 si\u0119 popularnym formatem danych w \u015bwiecie programowania ze wzgl\u0119du na swoj\u0105 czytelno\u015b\u0107 dla ludzi i \u0142atwo\u015b\u0107 przetwarzania dla maszyn. W PHP, generowanie odpowiedzi JSON jest powszechne, zw\u0142aszcza w przypadku interakcji z aplikacjami internetowymi, API i bazami danych. W tym artykule om\u00f3wimy, jak w PHP formatowa\u0107 odpowiedzi JSON, aby m\u00f3c efektywnie komunikowa\u0107 si\u0119 z innymi systemami.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Tworzenie_Tablicy_i_Konwersja_do_JSON\" >Tworzenie Tablicy i Konwersja do JSON:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Formatowanie_Odpowiedzi_JSON_z_Obiektow\" >Formatowanie Odpowiedzi JSON z Obiekt\u00f3w:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Obsluga_Bledow_w_Formacie_JSON\" >Obs\u0142uga B\u0142\u0119d\u00f3w w Formacie JSON:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Formatowanie_JSON_z_Opcjami\" >Formatowanie JSON z Opcjami:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Obsluga_Odpowiedzi_JSON_w_Aplikacji_Klienckiej\" >Obs\u0142uga Odpowiedzi JSON w Aplikacji Klienckiej:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-formatowac-odpowiedz-json-w-php\/#Podsumowanie\" >Podsumowanie:<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Tworzenie_Tablicy_i_Konwersja_do_JSON\"><\/span><strong>Tworzenie Tablicy i Konwersja do JSON:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>W PHP, najpierw tworzymy struktur\u0119 danych, kt\u00f3ra jest zwykle tablic\u0105 asocjacyjn\u0105. Na przyk\u0142ad:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">$data = array(\n    &quot;name&quot; =&gt; &quot;John Doe&quot;,\n    &quot;age&quot; =&gt; 30,\n    &quot;city&quot; =&gt; &quot;New York&quot;\n);<\/code><\/pre>\n<p>Nast\u0119pnie, u\u017cywaj\u0105c funkcji <code class=\"\" data-line=\"\">json_encode()<\/code>, mo\u017cemy przekszta\u0142ci\u0107 t\u0119 tablic\u0119 w format JSON:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">$jsonData = json_encode($data);<\/code><\/pre>\n<p>Teraz zmienna <code class=\"\" data-line=\"\">$jsonData<\/code> zawiera odpowied\u017a w formacie JSON, kt\u00f3ra mo\u017ce zosta\u0107 wys\u0142ana jako odpowied\u017a na \u017c\u0105danie HTTP.<\/p>\n<div id=\"dhost-1795796276\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2><span class=\"ez-toc-section\" id=\"Formatowanie_Odpowiedzi_JSON_z_Obiektow\"><\/span><strong>Formatowanie Odpowiedzi JSON z Obiekt\u00f3w:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Je\u015bli u\u017cywamy obiekt\u00f3w w PHP, mo\u017cemy r\u00f3wnie\u017c \u0142atwo przekszta\u0142ci\u0107 je w odpowiedzi JSON. Przyk\u0142ad:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">class Person {\n    public $name;\n    public $age;\n    public $city;\n}\n\n$person = new Person();\n$person-&gt;name = &quot;Jane Smith&quot;;\n$person-&gt;age = 35;\n$person-&gt;city = &quot;Los Angeles&quot;;\n\n$jsonData = json_encode($person);<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Obsluga_Bledow_w_Formacie_JSON\"><\/span><strong>Obs\u0142uga B\u0142\u0119d\u00f3w w Formacie JSON:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Podczas generowania odpowiedzi JSON, wa\u017cne jest, aby r\u00f3wnie\u017c obs\u0142u\u017cy\u0107 b\u0142\u0119dy. Je\u015bli generowanie JSON zako\u0144czy si\u0119 niepowodzeniem, PHP mo\u017ce zwr\u00f3ci\u0107 pusty ci\u0105g znak\u00f3w. Dlatego dobr\u0105 praktyk\u0105 jest sprawdzanie b\u0142\u0119d\u00f3w i dostarczanie odpowiednich komunikat\u00f3w:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">$jsonData = json_encode($data);\n\nif ($jsonData === false) {\n    $jsonData = json_encode(array(&quot;error&quot; =&gt; &quot;B\u0142\u0105d podczas formatowania danych JSON.&quot;));\n}<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Formatowanie_JSON_z_Opcjami\"><\/span><strong>Formatowanie JSON z Opcjami:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Funkcja <code class=\"\" data-line=\"\">json_encode()<\/code> w PHP ma opcje pozwalaj\u0105ce na bardziej zaawansowane formatowanie. Na przyk\u0142ad, mo\u017cemy u\u017cy\u0107 opcji <code class=\"\" data-line=\"\">JSON_PRETTY_PRINT<\/code>, aby uzyska\u0107 czyteln\u0105 dla cz\u0142owieka form\u0119 JSON:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">$jsonData = json_encode($data, JSON_PRETTY_PRINT);<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Obsluga_Odpowiedzi_JSON_w_Aplikacji_Klienckiej\"><\/span><strong>Obs\u0142uga Odpowiedzi JSON w Aplikacji Klienckiej:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>W aplikacji klienckiej (np. w JavaScript), otrzyman\u0105 odpowied\u017a JSON mo\u017cna \u0142atwo przetworzy\u0107 za pomoc\u0105 funkcji <code class=\"\" data-line=\"\">JSON.parse()<\/code>. Przyk\u0142ad w JavaScript:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">var jsonData = &#039;{&quot;name&quot;:&quot;John Doe&quot;,&quot;age&quot;:30,&quot;city&quot;:&quot;New York&quot;}&#039;;\nvar obj = JSON.parse(jsonData);\nconsole.log(obj.name); \/\/ Wy\u015bwietli: John Doe<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Podsumowanie\"><\/span><strong>Podsumowanie:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Formatowanie odpowiedzi JSON w PHP jest stosunkowo \u0142atwe i mo\u017ce by\u0107 u\u017cywane w r\u00f3\u017cnych kontekstach, takich jak budowanie API, komunikacja z bazami danych i interakcja z aplikacjami klienckimi. Pami\u0119taj, \u017ce odpowiednie obs\u0142ugiwanie b\u0142\u0119d\u00f3w oraz jasne i czytelne formatowanie s\u0105 kluczowe dla skutecznej komunikacji mi\u0119dzy systemami. Korzystaj\u0105c z funkcji <code class=\"\" data-line=\"\">json_encode()<\/code> i stosuj\u0105c dobre praktyki programistyczne, mo\u017cemy zapewni\u0107 poprawn\u0105 i sp\u00f3jn\u0105 komunikacj\u0119 w naszych aplikacjach internetowych.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[121,118],"manual_kb_tag":[4041,655,3006,3517,4042,3516],"class_list":["post-12575","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-inne","manualknowledgebasecat-pozostale","manual_kb_tag-formatowanie-fanych","manual_kb_tag-hosting","manual_kb_tag-json","manual_kb_tag-polski-hosting","manual_kb_tag-przyklady-formatowania","manual_kb_tag-web-hosting"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/12575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":0,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/12575\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=12575"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=12575"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=12575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}