使用QNetworkManager
get
方法,我正在从网址接收一个json。
执行:qDebug()<<(QString)reply->readAll();
结果是:
"rn[{"id":"1","name":"Jhon","surname":"Snow","phone":"358358358"}]"
所以我正在做strReply = strReply.simplified();
,结果是:
"[{"id":"1","name":"Jhon","surname":"Snow","phone":"358358358"}]"
但是我不能像 Json 那样使用它来解析它,以便在我的 qt 程序中使用它。 所以我认为我需要删除每个反斜杠并获得:
"[{"id":"1","name":"Jhon","surname":"Snow","phone":"348348348"}]"
我尝试了strReply.remove(QRegExp( "\" ) );
但是的任何奇怪的串联都会导致解释器将最后一个
之后的每一件事都视为字符串。
您可能遇到了qDebug
的功能,该功能会转义引号和换行符。您的字符串很可能实际上没有任何反斜杠。
当您尝试使用qDebug()
打印字符串时,如果您不希望 qDebug() 在输出中人为地插入反斜杠,则需要使用qDebug().noquote()
。
所以你的字符串应该没问题。它根本没有任何反斜杠。
如文档中所述 您可以使用删除功能删除字符
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// Will result "li Bb"
你可以用"\\"代替"a"来删除QString的反斜杠