Un SVG deve essere convertito in JSON per essere memorizzato nel database?

0

Considera un'applicazione in cui puoi creare e modificare un file SVG (ad esempio draw.io ).

Come dovrebbe essere salvato l'SVG nel database?

Con SVG (image / svg + xml)

Quindi non è richiesta un'ulteriore elaborazione prima che i dati siano archiviati. Ma dopo che i dati sono stati recuperati, SVG deve essere analizzato in modo che l'applicazione possa configurare i gestori di eventi e integrare SVG con le funzionalità dell'applicazione.

Con JSON (application / json)

I dati SVG dovranno essere convertiti in un oggetto JSON che verrà archiviato e recuperato dal database. Quando si recuperano i dati JSON dal database. I dati devono essere riconvertiti in SVG e, nel contempo, la funzionalità dell'applicazione può essere applicata a SVG.

La memorizzazione e il recupero dei dati non è probabilmente la parte di cui preoccuparsi perché richiederà circa la stessa quantità di tempo e spazio per archiviare o recuperare un SVG o JSON (a seconda delle differenze nell'attributo / lunghezza della chiave). Quindi credo che i veri problemi di prestazioni si verificano durante l'analisi dei dati. So che analizzare JSON è più semplice e veloce di XML, tuttavia quando si memorizza come un parsing SVG dei dati avviene solo una volta con JSON due volte.

Un altro ingegnere del software del mio team mi ha detto di usare JSON ma non ho potuto comprovare il perché? Forse qualcuno può confermare perché scegliere JSON?

    
posta Fleuv 11.10.2018 - 15:05
fonte

2 risposte

5

An other software engineer in my team told me to use JSON but couldn't substantiate why?

Forse era uno scherzo? Non riesco a pensare a nessun vantaggio per l'archiviazione di SVG all'interno di JSON. Nessuno.

Conserverei i file SVG ... nel formato SVG. Memorizzarli in un file o in un sistema di memorizzazione blob sarebbe preferibile a un database IMHO, ma un database non è una scelta terribile se le dimensioni dei file sono ridotte.

    
risposta data 11.10.2018 - 15:49
fonte
4

Nessuno dei due.

Dovresti memorizzare il modello che l'applicazione usa per generare lo svg. cioè per un diagramma di rete i vari nodi e join.

In questo modo quando modifichi il codice di generazione svg i vecchi modelli genereranno la nuova grafica. Piuttosto che caricare la vecchia grafica.

Essenzialmente lo svg è la vista e vuoi salvare il modello.

    
risposta data 11.10.2018 - 15:42
fonte

Leggi altre domande sui tag