Как добавить запись в JSON Qt C++

196
15 декабря 2019, 00:10

Есть Json такой структуры:

Как в это место(красный квадрат) добавить запись, чтобы получилось примерно так?

Именно конкретно как обратится получается к массиву array?

Answer 1

Если в контексте Qt судя по тегу, то можно так:

QJsonObject o = QJsonDocument::fromJson("{"
                            "\"Name\": 53,"
                            "\"Path\": \"C:\file.json\","
                            "\"array\": ["
                                "{"
                                    "\"default\": 11,"
                                    "\"name\": \"abc\""
                                "},"
                                "{"
                                    "\"default\": 11,"
                                    "\"name\": \"abc\""
                                "}"
                            "]"
                            "}"
                            ).object();  //создаём объект типа QJsonObject из текста json
   QJsonArray a = o["array"].toArray(); //вычленяем массив json'ов
   QJsonObject o_arr_frist = a[0].toObject(); //берём первый элемент массива и преобразуем его в объект класса QJsonObject 
   o_arr_frist.insert("new1", 123); //выполняем необходимые манипуляции
   o_arr_frist.insert("new2", 321);
   a[0] = o_arr_frist;  //записываем на новое значение в массив
   o.insert("array", a);  //и сам массив записываем в исходный объект
   qDebug() << o; //QJsonObject({"Name":53,"Path":"C:\file.json","array":[{"default":11,"name":"abc","new1":123,"new2":321},{"default":11,"name":"abc"}]})
READ ALSO
error C2011: &#39;Game&#39;: &#39;struct&#39; type redefinition

error C2011: 'Game': 'struct' type redefinition

У вас в gameh есть структура

183
Как сократить данный участок кода или можно ли в java передать метод в качестве параметра метода?

Как сократить данный участок кода или можно ли в java передать метод в качестве параметра метода?

У меня есть 3 метода и для каждого прописаны одни и те же участки кодакак сократить данный участок кода?

218
Загрузка рекламы в приложении

Загрузка рекламы в приложении

У меня есть приложение на androidЕсть реклама за вознаграждения (использую appodeal) В слушателе такой код

170