使用QNetworkManager
get
方法我从网址接收json
这样做:qDebug()<<(QString)reply->readAll();
结果是:
"\r\n[{\"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( "\\\" ) );
,但是\
的任何奇怪连接都会导致解释器在最后\
之后的所有内容中作为字符串进行思考。
答案 0 :(得分:4)
你可能会遇到qDebug
的功能,它会逃脱报价和换行符。你的字符串很可能实际上没有任何反斜杠。
当您尝试使用qDebug()
打印字符串时,如果您不希望qDebug()在输出中人为地插入反斜杠,则需要使用qDebug().noquote()
。< / p>
所以你的字符串应该没问题。它根本没有任何反斜杠。
答案 1 :(得分:0)
如documentation中所述您可以删除具有删除功能的字符
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// Will result "li Bb"
您可以使用'\\'而不是'a'来从QString中删除反斜杠