Dovrei usare JSON solo per usare JSON


11

Sto costruendo un sito di blog per l'apprendimento, con un back-end PHP / MySQl. Tutto l'input dell'utente viene gestito con i moduli inviati nelle richieste POST.

L'uso di JSON renderà in qualche modo più semplice o più semplice la manutenzione o l'aggiunta di funzionalità? O sto semplicemente aggiungendo un formato di interscambio senza motivo?

Quindi, in sostanza, quale funzionalità sarebbe meglio implementata usando JSON?


4
Qual è l'alternativa? Inventare il tuo formato di dati?

@delnan: Yaml, CSV. Probabilmente potrei pensare ad alcuni altri.
Robert Harvey,

10
Raramente sta usando blah per il gusto di usare blah un piano saggio. Guarda le cose per cui JSON è adatto e poi valuta se vale la pena usare JSON per quegli aspetti specifici.
whatsisname

@RobertHarvey: oppure moduli HTTP standard.
cHao,

7
I'm building a blogging site for learning- stai imparando le tecnologie associate? o per fornire materiale per gli altri? Se il primo, assolutamente - usa json per il gusto di usarlo così impari a usarlo. Sfida te stesso con le nuove tecnologie, altrimenti non imparerai come usarle.

Risposte:


15

JSON ha alcuni vantaggi:

  • È un formato strutturato, che può essere convalidato e analizzato con strumenti esistenti e maturi.
  • Può parlare facilmente con JavaScript, il che lo rende molto utile per la comunicazione AJAX.
  • È estremamente semplice e leggero. Qualunque cosa per cui desideri utilizzare lo scambio di dati XML, JSON è generalmente un'alternativa migliore.

La mia regola empirica è, se hai solo bisogno di restituire un singolo elemento semantico da una chiamata, inviarlo come testo normale. Ma se è necessario restituire più informazioni, utilizzare JSON.


6
nella parte parlante con JS non usare mai eval per ottenere il valore di esso invece usa JSON.parse disponibile nella maggior parte dei browser
maniaco del cricchetto

1
Parla facilmente anche a PHP, poiché json_decode()e json_encode()converte tra una stringa JSON e la Array()struttura di dati nativa
Izkata,

@Izkata solo se il tuo server ha queste funzioni.
Darth Egregious, il

Tranne nel caso di invio di moduli, utilizzando gli standard di interruzione JSON . Perché riparare ciò che non è rotto?
Brendan Long,

2
@BrendanLong: quello standard non dice nulla sull'uso o meno dell'utilizzo di JSON. Ovviamente se stai inviando un modulo, dovresti codificare tutti i dati secondo lo standard HTTP. Ma se uno degli elementi del modulo che stai inviando è un elemento complesso contenente più elementi semantici, metterlo in formato JSON (che viene quindi codificato correttamente dalla tua libreria HTTP) è un buon modo per farlo.
Mason Wheeler,

5

Per quello che descrivi - sembra una piattaforma di blog in cui tutto viene inviato tramite moduli - no, non è necessario convertirlo tutto in JSON. PHP gestisce i moduli senza soluzione di continuità per te. Non c'è motivo di introdurre una nuova complicazione in quella situazione.

Anche in questo caso, nella vostra specifica circostanza , JSON potrebbe essere qualcosa devi usare se si ha bisogno di inviare semi-strutturata dei dati di nuovo al il brower web. Sul lato browser, JSON sarebbe molto facile da analizzare in javascript.


2

JSON è utile solo se si intende creare un sito pesante JavaScript che utilizza richieste Ajax per passare i dati al server / ottenere dati da visualizzare senza eseguire un post-back completo. Se non si ha intenzione di utilizzare tale funzionalità utilizzando JSON, è sufficiente racchiudere il codice in un altro livello che deve essere serializzato / deserializzato per fare qualcosa di utile.


1

Non credo che l'implementazione di JSON migliorerà intrinsecamente il tuo sito così com'è. JSON è notazione oggetto JavaScript; quindi a meno che tu non stia imparando anche JavaScript, non vedo un valore intrinseco nell'assicurarmi che tutto sia in JSON.


Non è necessario imparare JavaScript per utilizzare / abusare di JSON. È indipendente dalla lingua.
CokoBWare,

0

Mentre JSON è molto estensibile e ben strutturato, non è il più veloce.

JSON è ottimo per l'invio di dati dal server ai client, perché risolve i problemi con la codifica.

Ma sul server sono necessarie le massime prestazioni e il minimo consumo di spazio su disco. Quindi, per le tabelle, dovresti usare le colonne MySQL e per le non tabelle è preferibile un formato binario.

Per risolvere i problemi di estensibilità con i file binari, è possibile taggare le strutture con un codice di 4 caratteri per il nome della struttura e il numero di 1-2 byte per la versione.


6
JSON è un formato di dati, non un database.
Robert Harvey,

Sì, ma può essere utilizzato per archiviare array.
Triangel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.