QString To Char* :
char* TT::StringToChar(QString str)
{
char *chStr = NULL;
QByteArray ba = str.toLocal8Bit();
chStr = (char *)malloc(ba.length() + 1);
memset(chStr,0,ba.length());
memcpy(chStr,ba.data(),ba.length());
chStr[ba.length()] = '\0';
return chStr;
}
转:
1、用toLocal8Bit()
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为 JSON 文档
if (doucment.isNull() || (jsonError.error != QJsonParseError::NoError)) {
qDebug() << "Error : " << "doucment:" << doucment.isNull() << "jsonError:" << jsonError.error
};
直接Error报错,jsonError错误9。
2、用toLatin1()类虽然可以转换,但是遇到中文,显示?????。
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError);
3、于是用了这个方法,问题解决:
QJsonDocument::fromJson(byteArray.toStdString().data(), &jsonError);