Hobrasoft httpd server
Embedded HTTP server for Qt and C++
json.cpp
Go to the documentation of this file.
1 
5 #include "json.h"
6 #include <QVariant>
7 #include <QList>
8 #include <QSet>
9 #include <QDebug>
10 
11 #if QT_VERSION > 0x050000
12 #include <QJsonObject>
13 #include <QJsonParseError>
14 #else
15 #include <qjson/parser.h>
16 #include <qjson/serializer.h>
17 #endif
18 
19 
20 using namespace Example;
21 
22 QByteArray JSON::json(const QVariant& data) {
23  #if QT_VERSION > 0x050000
24  QByteArray json = QJsonDocument::fromVariant(data).toJson(QJsonDocument::Compact);
25  return json;
26 
27  #else
28 
29  bool ok = true;
30  QJson::Serializer serializer;
31  #ifdef ARM
32  QByteArray json = serializer.serialize(data);
33  #else
34  QByteArray json = serializer.serialize(data, &ok);
35  #endif
36  if (!ok) {
37  qDebug() << QString("Sorry, there is a problem with data serializing in JSON::json()");
38  }
39 
40  return json;
41  #endif
42 }
43 
44 
45 QVariant JSON::data(const QByteArray& json) {
46  #if QT_VERSION > 0x050000
47  QJsonParseError error;
48  QJsonDocument jdoc = QJsonDocument::fromJson(json, &error);
49  return jdoc.toVariant();
50  #else
51  bool ok;
52  QJson::Parser parser;
53  return parser.parse(json, &ok);
54  #endif
55 }
56 
Namespace for Example.
Definition: application.h:11
static QVariant data(const QByteArray &json)
Converts json to data.
Definition: json.cpp:45
static QByteArray json(const QVariant &data)
Converts data to json.
Definition: json.cpp:22