удалите фигурные скобки из qjsonarray и замените квадратные скобки из документа - PullRequest
0 голосов
/ 29 августа 2018

Я вставляю множество различных значений в объекты QJsonObject следующим образом:

//gender inserted to QJsonObject gender
QJsonObject gender;
gender.insert("gender", person->gender());

//birthDate inserted to QJsonObject birthDate
QJsonObject birthDate;
birthDate.insert("birthDate", person->birthdate().toString());

После этого я добавляю объекты QJsonObject в QJsonArray следующим образом:

//Inserting all objects to QJsonDocument m_jsonDocument
QJsonArray allObjects;
allObjects.append(gender);
allObjects.append(birthDate);

Затем я помещаю все это в QJsonDocument:

m_jsonDocument->setArray(allObjects);

Выход:

[{
    "gender": "male"
},
{
    "birthDate": "2001-12-19"
}]

Мне нужно удалить фигурные скобки вокруг объектов и заменить квадратные скобки фигурными скобками. Нужно ли помещать их в QString и удалять и заменять, или есть более простой способ изменить объекты, массивы или весь документ? Я попытался осмотреться, но пока не нашел правильного решения.

Вот как я хотел бы видеть вывод:

{
"gender": "male",
"birthDate": "2001-12-19"}

В объектах много вещей, и это должно быть стандартом FHIR. Внутри объектов есть объекты, и документ все еще нуждается в доработке.

1 Ответ

0 голосов
/ 29 августа 2018

Вы должны использовать только один объект QJsonObject и добавить свойства к этому объекту:

QJsonObject obj;
obj.insert("gender",  person->gender());
obj.insert("birthDate", person->birthdate().toString());
m_jsonDocument->setObject(obj);

Выход:

{
    "birthDate": "2001-12-19",
    "gender": "male"
}
...