搜索后发现什么都不合适, 我需要在php中将字符串编码为json,如json_encode,但在Qt中。 Qt是否支持json编码?或者我应该使用第三方库? 我需要编码类似的东西:
array(
'SourceLanguage' => 'autodetect',
'Source' => array(
'Extension' => '.pdf',
'Content' => 'somecontent'
),
'ProcessingTimeout' => 1000,
'UserDomainModelName' => ''
);
PS:JsonObject,JsonArray,JsonValue之类的东西我找到但是他们的文档没有任何例子杀了我,请帮忙
答案 0 :(得分:0)
将字符串编码为json,如php中的json_encode
由于您在示例中提供的数组不是字符串,而是php数据类型,Qt不知道如何编码该字符串表示形式。
如果你想直接对这些数据进行编码,你可以这样做,从构建内部数组开始: -
QJsonObject innerArrayObject;
innerArrayObject["Extension"] = QString(".pdf");
innerArrayObject["Content"] = Qstring("somecontent");
QJsonArray innerArray;
innerArray.append(innerArrayObject);
QJsonObject content;
content["SourceLanguage"] = QString("autodetect");
content["source"] = innerArray;
content["ProcessingTimeout"] = 1000;
content["UserDomainModelName"] = QString("");
QJsonArray outerArray;
outerArray.append(content);
然后,您可以将顶级数组添加到QJsonObject(根对象),将其放在文档中并打印出内容
QJsonObject obj;
obj["root"] = outerArray;
qDebug() << QJsonDocument(obj).toJson(QJsonDocument::Compact);