Eine Erklärung / einen Kontext in unserer Frage zu haben, ist zumindest höflich. Diese Frage scheint eher ein impliziter Befehl für niemanden im Besonderen und die Stack-Overflow-Community im Allgemeinen zu sein.
– Sl4rtib4rtf4st
29. Januar 2020 um 13:40 Uhr
Alec Smart
Um JSON in PHP zu generieren, benötigen Sie nur eine Funktion, json_encode().
Wenn Sie mit der Datenbank arbeiten, müssen Sie zuerst alle Zeilen in das Array bringen. Hier ist ein Beispielcode für mysqli
Ich habe diesen Code in meinem Projekt verwendet. Die Datei results.json funktioniert gut auf dem lokalen Host und schlägt auf dem Remote-Server fehl. Kannst du erklären warum so..
– Vignesh Gopalakrishnan
21. Dezember 2012 um 5:53 Uhr
Fwrite könnte in Ihren Servereinstellungen deaktiviert sein
– Chris
19. Januar 2013 um 20:28 Uhr
Obwohl dies großartig ist, vielleicht weil ich jetzt PHP 5 verwende und es zum Zeitpunkt der Veröffentlichung dieser Antwort nicht verfügbar war, können Sie die Zeile $result= loswerden und in Ihrer While-Schleife einfach das mysql_feth_array($sql) erstellen.
– Benutzer3125900
7. Februar 2014 um 13:20 Uhr
Bitte aktualisieren Sie die erste Zeile auf $sql = “select * from Posts limit 20”; , entfernen Sie mysql_query()
– Sachin Vairagi
19. August 2016 um 7:12 Uhr
fwrite($fp, json_encode($response,JSON_PRETTY_PRINT)); – verwendet Leerzeichen, um den JSON zu formatieren. Andere Konstanten hier
Sie können myfile.json erstellen, bevor Sie das Skript ausführen. Dies ist jedoch nicht obligatorisch, wenn Sie über vollständige sudo-Berechtigungen verfügen (Lese-/Schreibberechtigungen (für Sie auf dem Mac).
Hier ist ein funktionierendes Beispiel:
<?php
// data stored in an array called posts
$posts = Array (
"0" => Array (
"id" => "01",
"title" => "Hello",
),
"1" => Array (
"id" => "02",
"title" => "Yoyo",
),
"2" => Array (
"id" => "03",
"title" => "I like Apples",
)
);
// encode array to json
$json = json_encode($posts);
$bytes = file_put_contents("myfile.json", $json); //generate json file
echo "Here is the myfile data $bytes.";
?>
Tatsächlich ist es am Kommentardatum nicht erforderlich, die Datei vor dem Speichern der Daten zu erstellen. Sie müssen jedoch noch die nicht vorhandenen Unterordner entlang des Speicherpfads erstellen, falls vorhanden. Hier ist der offizielles Dokument für file_put_contents nur aus Bequemlichkeit.
– Valentine Shi
16. Mai 2019 um 6:01 Uhr
Ja, Programmiersprachen entwickeln sich weiter. Meine Post-Antwort wurde 2017 gepostet. Sie hätten eine neue Antwort mit einer aktualisierten Vorgehensweise posten sollen, anstatt nur Code herunterzustimmen, der 2017 funktionierte
– RileyManda
17. Mai 2019 um 5:22 Uhr
Es gibt keine Änderung an dem Snipped, das Sie gegeben haben. Genau so file_put_contents Werke, die ich in meinem ersten Kommentar erwähnt habe.
– Valentine Shi
17. Mai 2019 um 5:30 Uhr
Ok, danke, ich nehme die notwendigen Änderungen an meiner Antwort vor. Danke, Valentine
– RileyManda
11. September 2021 um 22:02 Uhr
chelmertz
Fügen Sie Ihre abgerufenen Werte in ein Array ein, anstatt sie zu echoen.
Verwenden file_put_contents() und einfügen json_encode($rows) in diese Datei, wenn $rows sind Ihre Daten.
Wie ich sehe, wurde Ihre Antwort vor der am meisten positiv bewerteten gepostet. Wenn Sie nur einen Beispielcode eingefügt hätten, hätten Sie viel mehr Stimmen erhalten.
– Engin Yapici
31. Dezember 2015 um 14:29 Uhr
Pasupathi Thangavel
Hier habe ich den einfachen syntex für create erwähnt json-Datei und drucken Sie den Array-Wert in der json Datei in hübscher Weise.
$array = array('name' => $name,'id' => $id,'url' => $url);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($array, JSON_PRETTY_PRINT)); // here it will print the array pretty
fclose($fp);
Hoffe es funktioniert bei dir….
CyberJunkie
Wenn Sie dynamische Datensätze abrufen, ist es besser, eine PHP-Datei zu haben, die eine JSON-Darstellung erstellt, und nicht jedes Mal eine Datei zu erstellen.
Legen Sie dann in Ihrem Skript den Pfad zu der Datei fest my_json.php
Wenn ich versuche, dies mit getJason auszuführen, bekomme ich Ressource wird als Skript interpretiert, aber mit dem MIME-Typ text/html übertragen in Konsole.
– Codierungbbq
6. Dezember 2012 um 10:22 Uhr
@noobcode Um das zu beheben, sollten Sie meiner Meinung nach einen ‚Content-Type‘-Header in Ihrer ‚my_json.php‘ setzen.
– Katalin_2003
24. Januar 2015 um 15:38 Uhr
Sarfraz
Sie können einfach verwenden json_encode Funktion von php und Datei speichern mit Dateihandhabungsfunktionen wie z föffnen und fschreiben.
Wenn ich versuche, dies mit getJason auszuführen, bekomme ich Ressource wird als Skript interpretiert, aber mit dem MIME-Typ text/html übertragen in Konsole.
– Codierungbbq
6. Dezember 2012 um 10:22 Uhr
@noobcode Um das zu beheben, sollten Sie meiner Meinung nach einen ‚Content-Type‘-Header in Ihrer ‚my_json.php‘ setzen.
$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
if ($entry['activity_code'] == '1') {
$data[$key]['activity_name'] = "TENNIS";
}
}
Dann neu codieren und wieder in der Datei speichern:
Eine Erklärung / einen Kontext in unserer Frage zu haben, ist zumindest höflich. Diese Frage scheint eher ein impliziter Befehl für niemanden im Besonderen und die Stack-Overflow-Community im Allgemeinen zu sein.
– Sl4rtib4rtf4st
29. Januar 2020 um 13:40 Uhr