Sollte ich JSON nur verwenden, um JSON zu verwenden?

11

Ich baue eine Blogging-Site zum Lernen mit einem PHP / MySQl-Backend auf. Alle Benutzereingaben werden mit Formularen verarbeitet, die in POST-Anforderungen gesendet werden.

Wird die Verwendung von JSON es irgendwie sauberer oder einfacher machen, Funktionen zu warten oder hinzuzufügen? Oder füge ich einfach ohne Grund ein Austauschformat hinzu?

Welche Funktionalität lässt sich im Wesentlichen am besten mit JSON implementieren?

JonOsterman
quelle
4
Was ist die Alternative? Eigenes Datenformat erfinden?
@ Delnan: Yaml, CSV. Ich könnte wahrscheinlich an ein paar andere denken.
Robert Harvey
10
Selten wird bla verwendet, um bla einen weisen Plan zu verwenden. Schauen Sie sich an, wofür JSON gut ist, und überlegen Sie dann, ob es sich lohnt, JSON für diese spezifischen Aspekte zu verwenden.
Whatsisname
@ RobertHarvey: Oder Standard-HTTP-Formulare.
CHao
7
I'm building a blogging site for learning- Sie lernen die damit verbundenen Technologien? oder um Material für andere bereitzustellen? Wenn erstere, verwenden Sie unbedingt json, um es zu verwenden, damit Sie lernen, es zu verwenden. Fordern Sie sich mit neuen Technologien heraus - sonst lernen Sie nicht, wie man sie einsetzt.

Antworten:

15

JSON hat einige Vorteile:

  • Es ist ein strukturiertes Format, das mit vorhandenen, ausgereiften Tools validiert und analysiert werden kann.
  • Es kann leicht mit JavaScript sprechen, was es für die AJAX-Kommunikation sehr nützlich macht.
  • Es ist extrem einfach und leicht. Für alles, wofür Sie den XML-Datenaustausch verwenden möchten, ist JSON im Allgemeinen eine bessere Alternative.

Meine Faustregel lautet: Wenn Sie nur ein einzelnes semantisches Element aus einem Aufruf zurückgeben müssen, senden Sie es als einfachen Text. Wenn Sie jedoch mehrere Informationen zurückgeben müssen, verwenden Sie JSON.

Mason Wheeler
quelle
6
Verwenden Sie im Gespräch mit JS niemals eval, um den Wert zu ermitteln. Verwenden Sie stattdessen JSON.parse, das in den meisten Browsern verfügbar ist
Ratschenfreak
1
Es spricht auch leicht mit PHP, da json_decode()und json_encode()konvertiert zwischen einem JSON-String und der nativen Array()Datenstruktur
Izkata
@Izkata nur, wenn Ihr Server diese Funktionen hat.
Darth Egregious
Außer im Fall der Formularübermittlung verstößt die Verwendung von JSON gegen Standards . Warum reparieren, was nicht kaputt ist?
Brendan Long
2
@BrendanLong: Dieser Standard sagt nichts über die Verwendung oder Nichtverwendung von JSON aus. Wenn Sie ein Formular senden, sollten Sie natürlich alle Daten gemäß dem HTTP-Standard codieren. Wenn eines der von Ihnen gesendeten Formularelemente ein komplexes Element ist, das mehrere semantische Elemente enthält, ist es eine gute Möglichkeit, dieses Element in das JSON-Format zu setzen (das dann von Ihrer HTTP-Bibliothek korrekt codiert wird).
Mason Wheeler
5

Für das, was Sie beschreiben - es klingt wie eine Blogging-Plattform, auf der alles über Formulare übermittelt wird -, müssen Sie nicht alles in JSON konvertieren. PHP verarbeitet Formulare nahtlos für Sie. Es gibt keinen Grund, in dieser Situation eine neue Komplikation einzuführen.

Unter bestimmten Umständen können Sie JSON auch verwenden, wenn Sie halbstrukturierte Daten an den Webbrowser zurücksenden müssen. Auf der Browserseite wäre der JSON sehr einfach in Javascript zu analysieren.

GroßmeisterB
quelle
2

JSON ist nur nützlich, wenn Sie beabsichtigen, eine JavaScript-schwere Site zu erstellen, die Ajax-Anforderungen verwendet, um Daten an den Server zu übergeben / Daten anzuzeigen, ohne ein vollständiges Post-Back durchzuführen. Wenn Sie nicht beabsichtigen, diese Funktionalität mithilfe von JSON zu nutzen, wird Ihr Code lediglich in eine andere Ebene eingeschlossen, die serialisiert / deserialisiert werden muss, um nützliche Funktionen auszuführen.

Ryathal
quelle
1

Ich denke nicht, dass die Implementierung von JSON Ihre Site von Natur aus so verbessern wird, wie sie ist. JSON ist die JavaScript-Objektnotation. Wenn Sie also nicht auch anfangen, JavaScript zu lernen, sehe ich keinen inhärenten Wert darin, sicherzustellen, dass alles in JSON enthalten ist.

Honus Wagner
quelle
Sie müssen kein JavaScript lernen, um JSON zu verwenden / zu missbrauchen. Es ist sprachunabhängig.
CokoBWare
0

JSON ist zwar sehr erweiterbar und gut strukturiert, aber nicht das schnellste.

JSON eignet sich hervorragend zum Senden von Daten vom Server an Clients, da es Probleme mit der Codierung behebt.

Auf dem Server benötigen Sie jedoch maximale Leistung und minimalen Speicherplatzverbrauch. Für Tabellen sollten Sie daher MySQL-Spalten verwenden, und für Nicht-Tabellen wird ein Binärformat bevorzugt.

Um Erweiterungsprobleme mit Binärdateien zu lösen, können Sie Ihre Strukturen mit einem 4-stelligen Code für den Strukturnamen und einer 1-2-Byte-Nummer für die Version kennzeichnen.

Triang3l
quelle
6
JSON ist ein Datenformat, keine Datenbank.
Robert Harvey
Ja, aber es kann zum Speichern von Arrays verwendet werden.
Triang3l