C++ qt-json编码关联数组和对象
搜索后发现没有合适的, 我需要将字符串编码为json,就像php中的json_编码一样,但是在Qt中。Qt支持json编码吗?还是应该使用第三方库? 我需要对以下内容进行编码:C++ qt-json编码关联数组和对象,c++,json,qt,encode,C++,Json,Qt,Encode,搜索后发现没有合适的, 我需要将字符串编码为json,就像php中的json_编码一样,但是在Qt中。Qt支持json编码吗?还是应该使用第三方库? 我需要对以下内容进行编码: array( 'SourceLanguage' => 'autodetect', 'Source' => array( 'Extension' => '.pdf', 'Content' => 'some
array(
'SourceLanguage' => 'autodetect',
'Source' => array(
'Extension' => '.pdf',
'Content' => 'somecontent'
),
'ProcessingTimeout' => 1000,
'UserDomainModelName' => ''
);
PS:我找到了一些像JsonObject、JsonArray、JsonValue之类的东西,但它们的文档没有任何示例,这让我很头疼,请提供帮助
将字符串编码为json,就像php中的json_编码一样
由于示例中提供的数组不是字符串,而是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);
你确定你在意的是编码而不是解码吗?@VictorPolevoy,我肯定OP的意思是编码。你将无法解码给定的结构,因为它不是有效的JSON。是的,当然,维克托,是的,对,梅林没问题,让我们知道你进展如何。