QJsonArray に挿入する必要がある QString があります。問題は、文字列がそのまま挿入され、エスケープ シーケンスが機能しないことです。
QString fmt = QString("{\n \"%1\":\"%2\"\n}").arg(id,name);
QJsonValue qjv(fmt);
labellist.insert(lSize, qjv);
ここでは、qstring に「id」と「name」(これらも QString) の値が取り込まれ、qjsonarray に挿入されます。ここでのラベルリストは QJsonArray です。QString への入力は、たとえば「55」と「ggg」です。qstringを次のように印刷すると
qDebug().noquote() << fmt;
それは私に与えます
{
"55":"ggg"
}
しかし、それをラベルリストに挿入してラベルリストを印刷すると、次のようになります。
QJsonArray([{"121":"fuu"},{"122":"cat"},{"123":"dog"},"{\n \"55\":\"ggg\"\n}"])
上記の配列の QJsonvalues の形式は失われます。
文字列をデコードして形式を維持し、エスケープ シーケンスを機能させるにはどうすればよいですか?