<controllers> <type name = "Стрелочный перевод"> <controller name = "ОК-СП 1"> <module name = "СП 1"> <address> </address> </module> <module name = "СП 2"> <address> </address> </module> </controller> <controller name = "ОК-СП 2"> <module name = "СП 1"> <address> </address> </module> <module name = "СП 2"> <address> </address> </module> </controller> </type></controllers>
C++ (Qt)#include <QJsonDocument>#include <QJsonObject>#include <QJsonArray>#include <QFile>#include <vector> class Person{public: Person( const QString &firstName, const QString &lastName, int age ) : m_firstName( firstName ), m_lastName( lastName ), m_age( age ) { } QString m_firstName; QString m_lastName; int m_age; void read( const QJsonObject &json ) { m_firstName = json["firstName"].toString(); m_lastName = json["lastName"].toString(); m_age = json["age"].toInt(); } void write( QJsonObject &json ) const { json["firstName"] = m_firstName; json["lastName"] = m_lastName; json["age"] = m_age; }}; int main(){ // Создаём массив людей std::vector<Person> persons; persons.push_back( Person( "Ivan", "Ivanov", 50 ) ); persons.push_back( Person( "Pert", "Petrov", 21 ) ); persons.push_back( Person( "Sergey", "Sergeev", 23 ) ); persons.push_back( Person( "Dmitry", "Petrov", 39 ) ); persons.push_back( Person( "Vector", "Sergeev", 25 ) ); // Создаём Json массив людей QJsonArray personsArray; for( auto person : persons ) { QJsonObject personObj; person.write( personObj ); personsArray.append( personObj ); } // Создаём объект "фирма" и добавляем название фирмы QJsonObject firmObj; firmObj["Name of firm"] = QString( "MyFirm" ); // Добавляем массив людей в объект "фирма" firmObj["Persons"] = personsArray; // Создаём Json документ и добавляем в него объект "фирма" QJsonDocument saveDoc( firmObj ); // Записываем Json документ в файл QFile saveFile( "Persons.json" ); if ( !saveFile.open( QIODevice::WriteOnly ) ) { qWarning( "Error: unable to open save file" ); return 1; } saveFile.write( saveDoc.toJson() ); return 0;}
C++ (Qt)QT += core CONFIG += console c++11 SOURCES += \ main.cpp