mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
refs #911, utility functions for cut and paste JSON
This commit is contained in:
committed by
Mathew Sutcliffe
parent
6c752b81f5
commit
b785e32256
@@ -126,7 +126,7 @@ namespace BlackCore
|
||||
CLogMessage(this).error("Authentication failed, no response from %1") << urlString;
|
||||
return;
|
||||
}
|
||||
if (!json.startsWith('{') || !json.endsWith('}'))
|
||||
if (!Json::looksLikeJson(json))
|
||||
{
|
||||
CLogMessage(this).error("Illegal JSON object: %1") << CNetworkUtils::removeHtmlPartsFromPhpErrorMessage(json);
|
||||
return;
|
||||
|
||||
@@ -56,7 +56,7 @@ const QJsonValue &operator >>(const QJsonValue &json, QString &value)
|
||||
|
||||
const QJsonValue &operator >>(const QJsonValue &json, QStringList &value)
|
||||
{
|
||||
for (auto &&element : json.toArray()) { value << element.toString(); }
|
||||
for (auto && element : json.toArray()) { value << element.toString(); }
|
||||
return json;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ const QJsonValueRef &operator >>(const QJsonValueRef &json, QString &value)
|
||||
|
||||
const QJsonValueRef &operator >>(const QJsonValueRef &json, QStringList &value)
|
||||
{
|
||||
for (auto &&element : json.toArray()) { value << element.toString(); }
|
||||
for (auto && element : json.toArray()) { value << element.toString(); }
|
||||
return json;
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ namespace BlackMisc
|
||||
{
|
||||
if (toBeAppended.isEmpty()) return target;
|
||||
QStringList keys = toBeAppended.keys();
|
||||
foreach(const QString & key, keys)
|
||||
foreach (const QString &key, keys)
|
||||
{
|
||||
target.insert(key, toBeAppended.value(key));
|
||||
}
|
||||
@@ -449,5 +449,18 @@ namespace BlackMisc
|
||||
}
|
||||
return currentObject;
|
||||
}
|
||||
|
||||
bool looksLikeJson(const QString &json)
|
||||
{
|
||||
if (json.isEmpty()) { return false; }
|
||||
const QString t = json.trimmed();
|
||||
return t.startsWith('{') && t.endsWith('}');
|
||||
}
|
||||
|
||||
bool looksLikeSwiftJson(const QString &json)
|
||||
{
|
||||
// further checks would go here
|
||||
return looksLikeJson(json);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,6 +250,14 @@ namespace BlackMisc
|
||||
//! Merges an incremental json object into an existing one
|
||||
BLACKMISC_EXPORT QJsonObject applyIncrementalObject(const QJsonObject &previousObject, const QJsonObject &incrementalObject);
|
||||
|
||||
//! Looks like swift JSON?
|
||||
//! \remark Quick check if the string could be a valid JSON string
|
||||
BLACKMISC_EXPORT bool looksLikeJson(const QString &json);
|
||||
|
||||
//! Looks like swift JSON?
|
||||
//! \remark Quick check if the string could be a valid swift JSON string
|
||||
BLACKMISC_EXPORT bool looksLikeSwiftJson(const QString &json);
|
||||
|
||||
/*!
|
||||
* Load JSON file and init by that
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user