QT5.7 -为什么我得到一个畸形的json值与QString,但完美与std::string.< / h1 &g

QT5.7 - Why i get a malformed json value with QString but perfect with std::string?

本文关键字:std QString 完美 string h1 lt 值与 json 为什么 一个 QT5      更新时间:2023-10-16

我尝试从Ruby On Rails的api中获得json响应。

当我用curl直接调用这个url时或邮差我得到一个完美的json响应。

当我使用在静态中编译的QT5.7 windows的程序用于32位程序时,只有使用std::string才能得到完美的响应.

但是,如果我使用QDebug打印一个QString()我得到了这个畸形和奇怪的结果:

"{"成功":真的,"文件":["C:/Perl/lib/豆荚/perlcn.pod ","C:/Perl/lib/豆荚/perldata.pod ","C:/Perl/lib/豆荚/perldebguts.pod ","C:/Perl/lib/豆荚/perldelta.pod ","C:/Perl/lib/豆荚/perldiag.pod ","C:/Perl/lib/豆荚/perldoc.pod ","C:/Perl/lib/豆荚/perldos.pod ","C:/Perl/lib/豆荚/perldsc.pod ","C:/Perl/lib/豆荚/perldtrace.pod ","C:/Perl/lib/豆荚/perlebcdic.pod ","C:/Perl/lib/豆荚/perlembed.pod ","C:/Perl/lib/豆荚/perlexperiment.pod ","C:/Perl/lib/豆荚/perlfaq.pod ","C:/Perl/lib/pods/perlfaq1.pod ","C:/Perl/lib/豆荚perlfaq2.pod ","C:/Perl/lib/豆荚/perlfaq3.pod ","C:/Perl/lib/豆荚/perlfaq4.pod ","C:/Perl/lib/豆荚/perlfaq5.pod ","C:/Perl/lib/豆荚/perlfaq6.pod ","C:/Perl/lib/豆荚/perlfaq7.pod ","C:/Perl/lib/豆荚/perlfaq8.pod ","C:/Perl/lib/豆荚/perlfaq9.pod ","C:/Perl/lib/豆荚/perlfilter.pod ","C:/Perl/lib/豆荚/perlfork.pod ","C:/Perl/lib/豆荚/perlform.pod ","C:/Perl/lib/豆荚/perlfreebsd.pod ","C:/Perl/lib/豆荚/perlfunc.pod ","C:/Perl/lib/豆荚/perlgit.pod ","C:/Perl/lib/豆荚perlglossaiv

那么,如果我打印std::string,我有一个完美的json,正是我想要的:

{"成功":真的,"文件":[" C:/Perl/lib/豆荚/perlcn.pod","C:/Perl/lib/豆荚/perldata.pod","C:/Perl/lib/豆荚/perldebguts.pod","C:/Perl/lib/豆荚/perldelta.pod","C:/Perl/lib/豆荚/perldiag.pod","C:/Perl/lib/豆荚/perldoc.pod","C:/Perl/lib/豆荚/perldos.pod","C:/Perl/lib/豆荚/perldsc.pod","C:/Perl/lib/豆荚/perldtrace.pod","C:/Perl/lib/豆荚/perlebcdic.pod","C:/Perl/lib/豆荚/perlembed.pod","C:/Perl/lib/豆荚/perlexperiment.pod","C:/Perl/lib/豆荚/perlfaq.pod","C:/Perl/lib/豆荚/perlfaq1.pod","C:/Perl/lib/pods/perlfaq2.pod"、"C:/Perl/lib/豆荚/perlfaq3.pod"、"C:/Perl/lib/豆荚/perlfaq4.pod"、"C:/Perl/lib/豆荚/perlfaq5.pod"、"C:/Perl/lib/豆荚/perlfaq6.pod"、"C:/Perl/lib/豆荚/perlfaq7.pod"、"C:/Perl/lib/豆荚/perlfaq8.pod"、"C:/Perl/lib/豆荚/perlfaq9.pod"、"C:/Perl/lib/豆荚/perlfilter.pod"、"C:/Perl/lib/豆荚/perlfork.pod"、"C:/Perl/lib/豆荚/perlform.pod"、"C:/Perl/lib/豆荚/perlfreebsd.pod"、"C:/Perl/lib/豆荚/perlfunc.pod"、"C:/Perl/lib/豆荚/perlgit.pod"、"C:/Perl/lib/豆荚/perlglossary.pod"、"C:/Perl/lib/豆荚/聚乙烯rlgpl.pod"、"C:/Perl/lib/豆荚/perlguts.pod"、"C:/Perl/lib/豆荚/perlhack.pod"、"C:/Perl/lib/豆荚/perlhacktips.pod"、"C:/Perl/lib/豆荚/perlhacktut.pod"、"C:/Perl/lib/豆荚/perlhaiku.pod"、"C:/Perl/lib/豆荚/perlhist.pod"、"C:/Perl/lib/豆荚/perlhpux.pod"、"C:/Perl/lib/豆荚/perlhurd.pod"、"C:/Perl/lib/豆荚/perlintern.pod"、"C:/Perl/lib/豆荚/perlinterp.pod"、"C:/Perl/lib/豆荚/perlintro.pod"、"C:/Perl/lib/豆荚/perliol.pod"、"C:/Perl/lib/豆荚/perlipc.pod"、"C:/Perl/lib/豆荚/perlirix.pod"、"C:/Perl/lib/豆荚/perljp.pod","C:/Perl/lib/豆荚/perlko.pod","C:/Perl/lib/豆荚/perllexwarn.pod","C:/Perl/lib/豆荚/perllinux.pod","C:/Perl/lib/豆荚/perllocale.pod","C:/Perl/lib/豆荚/perllol.pod","C:/Perl/lib/豆荚/perlmacos.pod","C:/Perl/lib/豆荚/perlmacosx.pod","C:/Perl/lib/豆荚/perlmod.pod","C:/Perl/lib/豆荚/perlmodinstall.pod","C:/Perl/lib/豆荚/perlmodlib.pod","C:/Perl/lib/豆荚/perlmodstyle.pod","C:/Perl/lib/豆荚/perlmroapi.pod","C:/Perl/lib/豆荚/perlnetware.pod","C:/Perl/lib/豆荚/perlnewmod.pod","C:/Perl/lib/豆荚/perlnumber.pod"、"C:/Perl/lib/豆荚/perlobj.pod"、"C:/Perl/lib/豆荚/perlootut.pod"、"C:/Perl/lib/豆荚/perlop.pod"、"C:/Perl/lib/豆荚/perlopenbsd.pod"、"C:/Perl/lib/豆荚/perlopentut.pod"、"C:/Perl/lib/豆荚/perlos2.pod"、"C:/Perl/lib/豆荚/perlos390.pod"、"C:/Perl/lib/豆荚/perlos400.pod"、"C:/Perl/lib/豆荚/perlpacktut.pod"、"C:/Perl/lib/豆荚/perlperf.pod"、"C:/Perl/lib/豆荚/perlplan9.pod"、"C:/Perl/lib/豆荚/perlpod.pod"、"C:/Perl/lib/豆荚/perlpodspec.pod"、"C:/Perl/lib/豆荚/perlpodstyle.pod"、"C:/Perl/lib/豆荚/perlpolicy.pod"、"C:/Perl/lib/豆荚/perlport.pod"、"C:/Perl/lib/豆荚/perlpragma.pod"、"C:/Perl/lib/豆荚/perlqnx.pod"、"C:/Perl/lib/豆荚/perlre.pod"、"C:/Perl/lib/豆荚/perlreapi.pod"、"C:/Perl/lib/豆荚/perlrebackslash.pod"、"C:/Perl/lib/豆荚/perlrecharclass.pod"、"C:/Perl/lib/豆荚/perlref.pod"、"C:/Perl/lib/豆荚/perlreftut.pod"、"C:/Perl/lib/豆荚/perlreguts.pod"、"C:/Perl/lib/豆荚/perlrepository.pod"、"C:/Perl/lib/豆荚/perlrequick.pod"、"C:/Perl/lib/豆荚/perlreref.pod"、"C:/Perl/lib/豆荚/perlretut.pod"、"C:/Perl/lib/豆荚//lriscos.pod"、"C:/Perl/lib/豆荚/perlrun.pod"、"C:/Perl/lib/豆荚/perlsec.pod"、"C:/Perl/lib/豆荚/perlsolaris.pod"、"C:/Perl/lib/豆荚/perlsource.pod"、"C:/Perl/lib/豆荚/perlstyle.pod"、"C:/Perl/lib/豆荚/perlsub.pod"、"C:/Perl/lib/豆荚/perlsymbian.pod"、"C:/Perl/lib/豆荚/perlsyn.pod"、"C:/Perl/lib/豆荚/perlsynology.pod"、"C:/Perl/lib/豆荚/perlthrtut.pod "]}

我不知道我能做什么,因为我需要解析我的json与QJsonDocument和QJsonObject的QString。

我已经尝试了很多事情,比如QNetworkAccessManager

或者(对于理解和调试来说很难看)像这样:旋度外部

感谢

您是否使用qDebug()作为标准输出输出?这不是它应该用来做的。

以调试格式显示多种类型的当前内容。对于QString,它表示用双引号括起来的字符串(包括双引号),用转义。这并不意味着字符串本身包含转义数据。只有QDebug才会这样呈现给你