24 return "application/json";
61 m_stream <<
"\"" << sName <<
"\": {";
80 const QVariant &vValue,
82 const QMetaProperty * )
105 if ( vValue.canConvert< QObject* >())
107 const QObject *pObject = vValue.value< QObject* >();
125#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
126 auto type =
static_cast<QMetaType::Type
>(vValue.type());
128 auto type = vValue.typeId();
132 case QMetaType::QVariantList:
RenderList ( vValue.toList() );
break;
133 case QMetaType::QStringList:
RenderStringList( vValue.toStringList() );
break;
134 case QMetaType::QVariantMap:
RenderMap ( vValue.toMap() );
break;
135 case QMetaType::QDateTime:
160 for (
const auto& variant : list)
183 for (
const auto& str : list)
206 for (
auto it = map.cbegin(); it != map.cend(); ++it)
213 m_stream <<
"\"" << it.key() <<
"\":";
231 sStr.replace(
'\\',
"\\\\" );
232 sStr.replace(
'"' ,
"\\\"" );
233 sStr.replace(
'\b',
"\\b" );
234 sStr.replace(
'\f',
"\\f" );
235 sStr.replace(
'\n',
"\\n" );
236 sStr.replace(
"\r",
"\\r" );
237 sStr.replace(
"\t",
"\\t" );
238 sStr.replace(
"/",
"\\/" );
242 sStr.replace(QChar(
'\u0000'),
"\\u0000");
243 sStr.replace(QChar(
'\u0001'),
"\\u0001");
244 sStr.replace(QChar(
'\u0002'),
"\\u0002");
245 sStr.replace(QChar(
'\u0003'),
"\\u0003");
246 sStr.replace(QChar(
'\u0004'),
"\\u0004");
247 sStr.replace(QChar(
'\u0005'),
"\\u0005");
248 sStr.replace(QChar(
'\u0006'),
"\\u0006");
249 sStr.replace(QChar(
'\u0007'),
"\\u0007");
250 sStr.replace(QChar(
'\u000B'),
"\\u000B");
251 sStr.replace(QChar(
'\u000E'),
"\\u000E");
252 sStr.replace(QChar(
'\u000F'),
"\\u000F");
253 sStr.replace(QChar(
'\u0010'),
"\\u0010");
254 sStr.replace(QChar(
'\u0011'),
"\\u0011");
255 sStr.replace(QChar(
'\u0012'),
"\\u0012");
256 sStr.replace(QChar(
'\u0013'),
"\\u0013");
257 sStr.replace(QChar(
'\u0014'),
"\\u0014");
258 sStr.replace(QChar(
'\u0015'),
"\\u0015");
259 sStr.replace(QChar(
'\u0016'),
"\\u0016");
260 sStr.replace(QChar(
'\u0017'),
"\\u0017");
261 sStr.replace(QChar(
'\u0018'),
"\\u0018");
262 sStr.replace(QChar(
'\u0019'),
"\\u0019");
263 sStr.replace(QChar(
'\u001A'),
"\\u001A");
264 sStr.replace(QChar(
'\u001B'),
"\\u001B");
265 sStr.replace(QChar(
'\u001C'),
"\\u001C");
266 sStr.replace(QChar(
'\u001D'),
"\\u001D");
267 sStr.replace(QChar(
'\u001E'),
"\\u001E");
268 sStr.replace(QChar(
'\u001F'),
"\\u001F");
static QString Encode(const QString &sIn)
void RenderStringList(const QStringList &list)
void RenderMap(const QVariantMap &map)
QString GetContentType() override
void EndSerialize() override
void BeginObject(const QString &sName, const QObject *pObject) override
void BeginSerialize(QString &sName) override
void RenderValue(const QVariant &vValue)
void AddProperty(const QString &sName, const QVariant &vValue, const QMetaObject *pMetaParent, const QMetaProperty *pMetaProp) override
void EndObject(const QString &sName, const QObject *pObject) override
void RenderList(const QVariantList &list)
void SerializeObjectProperties(const QObject *pObject)
QString toString(const QDateTime &raw_dt, uint format)
Returns formatted string representing the time.