mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-16 02:03:07 -07:00
Added Json encode support for QVariantList and QStringList
This commit is contained in:
parent
b7edfea4ce
commit
8f28804f8c
2 changed files with 30 additions and 23 deletions
48
src/json.h
48
src/json.h
|
@ -41,15 +41,23 @@ namespace json {
|
|||
return "null";
|
||||
switch(v.type())
|
||||
{
|
||||
case QVariant::Bool:
|
||||
case QVariant::Double:
|
||||
case QVariant::Int:
|
||||
case QVariant::LongLong:
|
||||
case QVariant::UInt:
|
||||
case QVariant::ULongLong:
|
||||
case QMetaType::Float:
|
||||
case QVariant::Bool:
|
||||
case QVariant::Double:
|
||||
case QVariant::Int:
|
||||
case QVariant::LongLong:
|
||||
case QVariant::UInt:
|
||||
case QVariant::ULongLong:
|
||||
case QMetaType::Float:
|
||||
return v.value<QString>();
|
||||
case QVariant::String:
|
||||
case QVariant::StringList:
|
||||
case QVariant::List: {
|
||||
QStringList strList;
|
||||
foreach(const QVariant &var, v.toList()) {
|
||||
strList << toJson(var);
|
||||
}
|
||||
return "["+strList.join(",")+"]";
|
||||
}
|
||||
case QVariant::String:
|
||||
{
|
||||
QString s = v.value<QString>();
|
||||
QString result = "\"";
|
||||
|
@ -58,35 +66,35 @@ namespace json {
|
|||
QChar ch = s[i];
|
||||
switch(ch.toAscii())
|
||||
{
|
||||
case '\b':
|
||||
case '\b':
|
||||
result += "\\b";
|
||||
break;
|
||||
case '\f':
|
||||
case '\f':
|
||||
result += "\\f";
|
||||
break;
|
||||
case '\n':
|
||||
case '\n':
|
||||
result += "\\n";
|
||||
break;
|
||||
case '\r':
|
||||
case '\r':
|
||||
result += "\\r";
|
||||
break;
|
||||
case '\t':
|
||||
case '\t':
|
||||
result += "\\t";
|
||||
break;
|
||||
case '\"':
|
||||
case '\'':
|
||||
case '\\':
|
||||
case '&':
|
||||
case '\"':
|
||||
case '\'':
|
||||
case '\\':
|
||||
case '&':
|
||||
result += '\\';
|
||||
case '\0':
|
||||
default:
|
||||
case '\0':
|
||||
default:
|
||||
result += ch;
|
||||
}
|
||||
}
|
||||
result += "\"";
|
||||
return result;
|
||||
}
|
||||
default:
|
||||
default:
|
||||
qDebug("Unknown QVariantType: %d", (int)v.type());
|
||||
return "undefined";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue