devi essere chiari su ciò che si intende per "JSON".
Alcune persone usano il termine JSON in modo errato per fare riferimento a un semplice oggetto JavaScript vecchio, ad esempio [{a: 1}]
. Questo sembra essere un array. Se si desidera aggiungere un nuovo elemento alla matrice, basta push
, come nel
var arr = [{a: 1}];
arr.push({b: 2});
< [{a: 1}, {b: 2}]
La parola JSON può anche essere usato per riferirsi ad una stringa che è codificato in formato JSON:
var json = '[{"a": 1}]';
Notare le virgolette (singole) che indicano che si tratta di una stringa. Se si dispone di una tale stringa che si è ottenuto da qualche parte, è necessario analizzare un primo momento in un oggetto JavaScript, utilizzando JSON.parse
:
var obj = JSON.parse(json);
Ora è possibile manipolare l'oggetto nel modo desiderato, compreso push
come indicato sopra. Se poi si vuole mettere di nuovo in una stringa JSON, quindi si utilizza JSON.stringify
:
var new_json = JSON.stringify(obj.push({b: 2}));
'[{"a": 1}, {"b": 1}]'
JSON è anche usato come un modo comune per formattare i dati per la trasmissione dei dati da e verso un server, dove può essere salvato (persistente). È qui che entra in gioco Ajax. Ajax viene utilizzato sia per ottenere dati, spesso in formato JSON, da un server, e/o per inviare dati in formato JSON fino al server. Se hai ricevuto una risposta da una richiesta Ajax che è in formato JSON, potresti aver bisogno di come descritto sopra. Quindi è possibile manipolare l'oggetto, reinserirlo nel formato JSON con JSON.stringify
e utilizzare un'altra chiamata ajax per inviare i dati al server per l'archiviazione o altre manipolazioni.
Si utilizza il termine "file JSON". Normalmente, la parola "file" viene utilizzata per fare riferimento a un file fisico su alcuni dispositivi (non, una stringa di cui si sta parlando nel codice o un oggetto JavaScript). Il browser non ha accesso ai file fisici sul tuo computer. Non può leggerli o scriverli. In realtà, il browser non ha nemmeno la nozione di "file". Pertanto, non puoi semplicemente leggere o scrivere qualche file JSON sul tuo computer locale.Se si sta inviando JSON da e verso un server, ovviamente il server potrebbe memorizzare JSON come file, ma più probabilmente il server sta costruendo il JSON in base ad alcune richieste Ajax, in base ai dati che recupera da un database o decodificare il JSON in alcune richieste Ajax e quindi salvare i dati rilevanti nel suo database.
Avete davvero un "file JSON", e se sì, dove esiste e da dove lo avete preso? Hai una stringa in formato JSON, che devi analizzare, eseguire il mainpulate e tornare a una nuova stringa in formato JSON? Hai bisogno di prendere JSON dal server e modificarlo e quindi inviarlo di nuovo al server? O il tuo "file JSON" è in realtà solo un oggetto JavaScript, che devi semplicemente manipolare con la normale logica JavaScript?
perché non usi il database ?? e c'è errore di battitura nei dati json. manca '' 'in' "accord' –
La soluzione a questo dipende dal tipo di server che si sta utilizzando. Molto probabilmente coinvolgerà l'invio di una richiesta POST autenticata a uno script sul lato server. –
Devi ottenere i dati, analizzarli, modificarli, serializzarli, inviarli al server e persistere. Con quale parte hai problemi? Nota che la parte persistente (scrivendo nel file) non ha nulla a che fare con JavaScript. Questo è tutto gestito dal server. Quale lingua lato server stai usando? –