qt 解析json中斜杠‘\’
解析‘\’:我比较菜,没有找到直接转的(有大佬有好方法的,欢迎留意),所以用了下面的方法。
思路:先将json转换为一个正常的串,先转字符串,然后转为json串直接用。
操作:json转字符串,后将字符串从 “ \” ” 处分割,判断分割处之前“ \ ”的数量,根据“ \ ”的奇偶,选择性的添加一个 \ 就OK。
上 码:
例:json串(json_)
{
“name”:“GDDong\”
}
QJsonParseError error;
QString str = json_.toStdString().c_str();
int nPos = str.lastIndexOf("\\\"");
if (nPos > 0)
{
QString strAgo = str.mid(nPos + 1);
QString strAfter = str.left(nPos);
int a = 0;
int i = nPos - 1;
while (1)
{
if (strAfter.at(i) == "\\")
{
a++;
i--;
}
else
break;
}
if (a % 2 == 0)
{
str.replace("\\\"", "\\\\\"");
json_= str.toUtf8();
}
}