1

我向 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 标准。对象内部有对象,文档仍然需要大量修改。

4

1 回答 1

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"
}
于 2018-08-29T06:09:00.983 回答