从 qjsonarray 中删除大括号并从文档中替换方括号

remove curly brackets from qjsonarray and replace square brackets from document

我像这样向 QJsonObjects 插入很多不同的值:

//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 标准。对象中有对象,文档还需要大量修改。

您应该只使用一个 QJsonObject 并将属性添加到该对象:

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

输出:

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