Ho un file in questo modo:lettura di file JSON con boost
[data.json]
{
"electron": {
"pos": [0,0,0],
"vel": [0,0,0]
},
"proton": {
"pos": [1,0,0],
"vel": [0,0.1,0]
},
"proton": {
"pos": [-1,0,0],
"vel": [0,-0.1,-0.1]
}
}
Come faccio a creare un vettore di particelle da analisi di questo file. A quanto ho capito, ho bisogno di leggere il file usando boost e leggere le stringhe (linee) in un vettore, e quindi analizzare il contenuto del vettore.
La particella classe è qualcosa di simile:
class Particle
{
private:
particle_type mtype; // particle_type is an enum
vector<double> mPos;
vector<double> mVel;
};
Altri metodi per get/set sono stati omessi nella classe.
Fondamentalmente mi piacerebbe aiutare a creare un vector<Particle>
con i dati di posizione e velocità e particle_type corretti in esso. Grazie in anticipo.
Codice in principale:
int main(){
boost::property_tree::ptree pt;
boost::property_tree::read_json("data.json", pt);
}
Hai avuto uno sguardo al Boost JSON parser: http://www.boost.org /doc/libs/1_53_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.json_parser? –
Sì, ma non riesco a capirlo ... – user3728501
E questa risposta http://stackoverflow.com/a/12735086/667433 non ha aiutato nessuno dei due? –