ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【qt】json读取中文路径

【qt】json读取中文路径

中文路径

#include<QJsonParseError>#include<QJsonObject>#include<QTextCodec>QJsonObjectreadJsonFile(constQString&path){QFilefile(path);// 方法1:使用 QTextCodec 设置编码QTextCodec*codec=QTextCodec::codecForName("UTF-8");if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){qDebug()<<"read json file error! Path:"<<path;qDebug()<<"Error:"<<file.errorString();returnQJsonObject();}QTextStreamin(&file);in.setCodec(codec);// 设置编码为 UTF-8QString jsonStr=in.readAll();QJsonParseError error;QJsonDocument jsonDoc=QJsonDocument::fromJson(jsonStr.toUtf8(),&error);file.close();if(error.error!=QJsonParseError::NoError){qDebug()<<"JSON parse error:"<<error.errorString();returnQJsonObject();}returnjsonDoc.object();}

默认英文路径不能读取中文的路径

#include<QJsonParseError>#include<QJsonObject>#include<QTextCodec>QJsonObjectreadJsonFile(constQString&path){QFilefile(path);if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){qDebug()<<"read json file error!";}QTextStreamin(&file);QString jsonStr=in.readAll();QJsonParseError error;QJsonDocument jsonDoc=QJsonDocument::fromJson(jsonStr.toUtf8(),&error);file.close();returnjsonDoc.object();}
返回列表