Удалите фигурные скобки из qjsonarray и замените квадратные скобки из документа
Я вставляю множество различных значений в объекты 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());
После этого я добавляю QJsonObjects в 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 ответ
Вы должны использовать только один объект QJsonObject и добавить свойства к этому объекту:
QJsonObject obj;
obj.insert("gender", person->gender());
obj.insert("birthDate", person->birthdate().toString());
m_jsonDocument->setObject(obj);
Выход:
{
"birthDate": "2001-12-19",
"gender": "male"
}