Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34

    File Json in local storage

    Ciao a tutti,
    avrei bisogno di una mano perché sono veramente bloccata a questo punto.
    Ho il mio file Json con un elenco di ristoranti e devo fare in modo che venga visualizzato come elemento del local storage.

    codice:
    <script src="js/ristoranti.json"></script>
    
    ...
    
    function stampaRistoranti(){
    
    if (typeof(localStorage.ristoranti) == "undefined") {
    localStorage.setItem("ristoranti", JSON.stringify(ristoranti)); 
    }
    
    // caricamento dati dal localStorage
    var vristoranti = JSON.parse(localStorage.getItem("ristoranti"));
    
    ...
    
    }


    E' possibile riuscirci con questo codice JS? Ho provato ma non mi compare nel local storage.
    Magari è più semplice di quel che mi appare, ma non riesco proprio ad andare avanti.
    Ciao a tutti

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, il metodo per recuperare dallo storage i dati è come il SET ossia GET. Quindi devi usare localStorage.getItem('ristoranti'), in atro modo non può funzionare. Una volta recuperato dovrai al rovescio riconvertire in oject.

  3. #3
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, il metodo per recuperare dallo storage i dati è come il SET ossia GET. Quindi devi usare localStorage.getItem('ristoranti'), in atro modo non può funzionare. Una volta recuperato dovrai al rovescio riconvertire in oject.
    Grazie per la risposta, il mio problema e un po all inverso nel senso che ho un file json sul mio pc e devo metterlo nello storage, ho provato con il codice sopra ma non funziona

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Metti il file nel sito, prendi la url del file JSON, la include tramite tag script in pagina. Se assegni questa lista/object ad una variabile nel file stesso avrai direttamente in pagina questa.
    Contenuto file JSON:
    codice:
    var ristoranti = [{........}, {........} ............];
    e poi
    codice:
    localStorage.setItem('ristoranti', JSON.stringify(ristoranti);

  5. #5
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Allora io ho scritto nella mia pagina HTML L <script src = "fork.json"> </script> e così nelle sources vedo l'HTML, il CSS, il JS, tutte le immagini e c'è anche il mio file JSON che si chiama fork.json.
    Poi nel mio Javascript

    codice:
    if(typeof(localStorage.getItem("ristoranti") == "undefined")) {
        var ristoranti = JSON.stringify(fork);
    localStorage.setItem("ristoranti", ristoranti);
    }
    
    var vristoranti = JSON.parse(localStorage.getItem("fork"));
    Ma l'errore che mi da è nella seconda riga, fork is not defined.
    Il problema è che la mia variabile ristoranti, deve essere riempita con tutto il contenuto di fork.json e quindi quando voglio aggiungere o modificare un ristorante, farlo nel file json.

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    localStorage.getItem("ristoranti"));

  7. #7
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da cassano Visualizza il messaggio
    localStorage.getItem("ristoranti"));
    Si mi sa che hai ragione ed ho cambiato, grazie.
    Ma il problema è che l'errore me lo segnale nella seconda riga: var ristoranti = JSON.stringify(fork)

  8. #8
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Se il tuo file json e' incluso in pagina ed è fatto così
    codice:
    var fork = [{"nome": "Ristorante-1"}, {"nome": "Ristorante-2"},.......];
    allora la variabile fork deve esistere e se scrivi in console fork, dovresti vedere esattamente in contenuto. A meno che non includi fork.js dopo aver eseguito il codice che hai indicato sopra.

    Il file json è corretto? Puoi provare con un validatore

  9. #9
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Se il tuo file json e' incluso in pagina ed è fatto così
    codice:
    var fork = [{"nome": "Ristorante-1"}, {"nome": "Ristorante-2"},.......];
    allora la variabile fork deve esistere e se scrivi in console fork, dovresti vedere esattamente in contenuto. A meno che non includi fork.js dopo aver eseguito il codice che hai indicato sopra.

    Il file json è corretto? Puoi provare con un validatore
    Allora non so se sto per dirti una cavolata o no, ma io non dovrei avere
    codice:
    var fork = [{"nome": "Ristorante-1"}, {"nome": "Ristorante-2"},.......];
    perchè le mie informazioni nome: ristorante 1, nome: ristorante 2 sono contenute già nel fork.json e se devo modificare qualche info sui miei ristoranti vorrei poterlo fare direttamente modificando il file, senza modificare niente in JS.
    Cioè posso fare in modo che legga direttamente il contenuto del file senza riscrivere il contenuto di fork?
    Mi sono spiegata non molto bene, mi dispiace, spero sia abbastanza chiaro

    Comunque grazie per il validatore, non avevo idea esistesse, l'ho provato con il contenuto del file JSON ed è valido

  10. #10
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Si, il codice d'esempio dovrebbe essere il contenuto del tuo JSON e quindi già presente in pagina.
    Dimenticavo. Se il tuo file è un file con estensione .json allora lo drovrai caricare tramitet ad esempio jQuery getJson .
    In alternativa se non e' necessario per altri motivi che sia .json, puoi rinominarlo in .js ed includerlo nornalmente con il tag script.
    Alla fine quello che a te serve (se non ho capito male) è recuperare la lista/object presente nel file e quindi una normalissima lista do oggetti contenuti in un altro object o array.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.