• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema Qt/C++

Mashpot

Nuovo utente
Autore del topic
18 Ottobre 2017
11
19
Miglior risposta
0
Salve!

Sto sviluppando un sistema con Qt5 C++ che deve leggere da file JSON e modificare determinati valori all'interno del file JSON.

Esempio: alla chiamata di un evento, modificare la stringa
JSON:
Perfavore, Entra oppure Registrati per vedere i codici!

Su Qt5 ci sono librerie dedicate alla manipolazione JSON, ma non riesco a manipolare i livelli più profondi.

Esempio:
JSON:
Perfavore, Entra oppure Registrati per vedere i codici!

In questo caso, non riesco a manipolare gli attributi (nome e cognome) di livello_2.

A questo punto ho pensato di formattare il contenuto del file JSON all'interno di un array di stringhe ed in seguito richiamare uno dei campi dell'array che mi interessa modificare.

Il problema è che non saprei minimamente come realizzare questa struttura.

La logica è la seguente:

Array livello_1[n] = { Stringa , Stringa , Intero, Intero, Bool, Array Livello_2[n], ... };

Ogni Array deve avere una struttura differente:

Array livello_1[1] = { Stringa , Stringa , Intero, Intero, Bool, Array Livello_2[n], ... };
Array livello_1[2] = { Array Livello_2[n], Intero, Bool, Stringa, Intero, Bool, Array Livello_2[n], ... };
...


Il file JSON, viene caricato all'interno di una stringa, che a sua volta dovrebbe essere formattata per rispecchiare il modello degli array soprastante.

Ovviamente una volta creata la struttura, devo essere in grado di modificare ogni valore all'interno dell'array ed aggiungerne eventualmente altri nel caso in cui servano, salvare il tutto ed esportare nuovamente il file JSON modificato.

Qualcuno ha un'idea di come poter fare?

PS: Mi sarebbe piaciuto usare XML come formato di salvataggio, ma l'app con cui devo comunicare legge solo file JSON, è scritta in Javascript (Node Js) e non saprei dove mettere mani per poter cambiare il metodo di lettura/scrittura da JSON A XML.

Grazie per l'auto!
 
Ti risponderei ma purtroppo devo sbloccare prima tutto per rispondere.

Non preoccuparti, fai con calma, nel mentre che attendo la tua risposta cerco di farcela by myself. :emoji_ghost:

Il vero problema è che in rete non ci sono guide su Qt5 che spieghino dalla A alla Z il funzionamento delle librerie dedicate a JSON.

Quelle poche che si trovano sono delle generazioni passate, oltre che in lingua inglese di autori indiani. :emoji_grin:
 
Salve!

Sto sviluppando un sistema con Qt5 C++ che deve leggere da file JSON e modificare determinati valori all'interno del file JSON.

Esempio: alla chiamata di un evento, modificare la stringa
JSON:
Perfavore, Entra oppure Registrati per vedere i codici!

Su Qt5 ci sono librerie dedicate alla manipolazione JSON, ma non riesco a manipolare i livelli più profondi.

Esempio:
JSON:
Perfavore, Entra oppure Registrati per vedere i codici!

In questo caso, non riesco a manipolare gli attributi (nome e cognome) di livello_2.

A questo punto ho pensato di formattare il contenuto del file JSON all'interno di un array di stringhe ed in seguito richiamare uno dei campi dell'array che mi interessa modificare.

Il problema è che non saprei minimamente come realizzare questa struttura.

La logica è la seguente:

Array livello_1[n] = { Stringa , Stringa , Intero, Intero, Bool, Array Livello_2[n], ... };

Ogni Array deve avere una struttura differente:

Array livello_1[1] = { Stringa , Stringa , Intero, Intero, Bool, Array Livello_2[n], ... };
Array livello_1[2] = { Array Livello_2[n], Intero, Bool, Stringa, Intero, Bool, Array Livello_2[n], ... };
...


Il file JSON, viene caricato all'interno di una stringa, che a sua volta dovrebbe essere formattata per rispecchiare il modello degli array soprastante.

Ovviamente una volta creata la struttura, devo essere in grado di modificare ogni valore all'interno dell'array ed aggiungerne eventualmente altri nel caso in cui servano, salvare il tutto ed esportare nuovamente il file JSON modificato.

Qualcuno ha un'idea di come poter fare?

PS: Mi sarebbe piaciuto usare XML come formato di salvataggio, ma l'app con cui devo comunicare legge solo file JSON, è scritta in Javascript (Node Js) e non saprei dove mettere mani per poter cambiare il metodo di lettura/scrittura da JSON A XML.

Grazie per l'auto!


Allora per il parsing del json non so che libreria stai usando, qt è una libreria per la grafica.
Esiste questo parser per il c++ :
Perfavore, Entra oppure Registrati per vedere i Link!


dopo averla parsata, dovresti memorizzarla in una struttura dati