gpt4 book ai didi

qt - 在 JSON 中编码 QString

转载 作者:行者123 更新时间:2023-12-02 17:32:46 25 4
gpt4 key购买 nike

我正在尝试将 QString 编码为 JSON 字符串,以便我可以通过 QWebFrame::evaluateJavaScript(QString("o.text = %1;").arg(??? ))

例如,在php中使用函数json_encode

echo json_encode('HELLO "me"');

输出将是

"HELLO \"me\""

这是字符串在 Json 对象中的内部表示。

以同样的方式,使用 Qt,我如何在 Json 格式的字符串中检索字符串的内部表示,因为它将被编码为一个值?

最佳答案

其实并没有那么难。首先使用 QJsonObjects 构建结构

QJsonObject obj;
obj.insert("tag1", QString("Some text"));

然后用QDocument得到一个Json格式的字符串

QJsonDocument doc(obj);
QByteArray data = doc.toJson(QJsonDocument::Compact);

QString jsonString(data);

这将产生一个字符串,其形式为:-

{ "tag1" : "Some Text" }

将项目分成列表,按“:”拆分

QStringList items = jsonString.split(':', QString::SkipEmptyParts);

列表中应该有 2 项,第二项是 Json 字符串的值部分

"Some Test"}

去掉最后的'}'

QString value = items[1].remove('}');

当然,您需要进行错误检查,并注意如果原始字符串中有“:”或“}”,则需要先检查它们。

关于qt - 在 JSON 中编码 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30705884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com