Domanda

Il mio obiettivo è serializzare i tipi di dati nativi JavaScript per l'archiviazione in un database SQLite. Lo sto facendo all'interno di un'estensione di Firefox e quindi ho accesso alla piattaforma Mozilla XPCOM api. Inizialmente stavo pensando che la cosa più semplice da fare sarebbe quella di memorizzare solo le stringhe JSON.

Tuttavia, se esiste un modo per serializzare i tipi di dati nativi all'interno della piattaforma Mozilla, mi piacerebbe sapere dove trovarlo. E se ciò è possibile, quali risparmi di spazio di archiviazione posso aspettarmi per il lavoro extra (se presente) e ci sarebbe un costo delle prestazioni rispetto a JSON?

Ovviamente, i vantaggi derivanti dall'archiviazione dei dati in un formato binario potrebbero non superare la facilità di utilizzo di JSON. Qualche suggerimento?

È stato utile?

Soluzione

Firefox 3.5+ ha la codifica / decodifica JSON nativa , che è più veloce del motore Javascript decodifica di JSON, secondo Wikipedia .

Date le implicazioni della rapida (de) serializzazione in FF3.5 +, direi che potresti anche rimanere con le stringhe JSON. In questo modo sarà anche virtualmente compatibile multipiattaforma se mai dovessi ispezionare il DB da un'altra lingua / piattaforma.

Per quanto riguarda l'overhead delle stringhe, se si rimuovono gli spazi bianchi non necessari, si osserva un sovraccarico di alcune parentesi graffe, alcune virgolette, alcune virgole / due punti e il costo di memorizzazione di un numero come stringa invece di un formato nativo. A meno che ciò non risulti essere un collo di bottiglia nella tua applicazione, la semplicità aggiunta dell'utilizzo di semplici stringhe JSON sembra valsa la pena.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top