smf/smfservermodule/util/qjson/doc/qjson.dox
changeset 7 be09cf1f39dd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/util/qjson/doc/qjson.dox	Tue May 18 17:37:12 2010 +0530
@@ -0,0 +1,95 @@
+/**
+\mainpage
+\section _intro Introduction
+
+<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>
+ is a lightweight data-interchange format. 
+It can represents integer, real number, string, an ordered sequence of value, and
+a collection of name/value pairs.
+
+QJson is a qt-based library that maps JSON data to QVariant objects.
+
+JSON arrays will be mapped to QVariantList instances, while JSON's objects will
+be mapped to QVariantMap.
+
+\section _usage Usage
+Converting JSON's data to QVariant instance is really simple:
+\code
+// create a JSonDriver instance
+QJson::Parser parser;
+
+bool ok;
+
+// json is a QString containing the data to convert
+QVariant result = parser.parse (json, &ok);
+\endcode
+
+Suppose you're going to convert this JSON data:
+\verbatim
+{
+    "encoding" : "UTF-8",
+    "plug-ins" : [
+        "python",
+        "c++",
+        "ruby"
+        ],
+    "indent" : { "length" : 3, "use_space" : true }
+}
+\endverbatim
+
+The following code would convert the JSON data and parse it:
+\code
+QJson::Parser parser;
+bool ok;
+
+QVariantMap result = parser.parse (json, &ok).toMap();
+if (!ok) {
+  qFatal("An error occured during parsing");
+  exit (1);
+}
+
+qDebug() << "encoding:" << result["encoding"].toString();
+qDebug() << "plugins:";
+
+foreach (QVariant plugin, result["plug-ins"].toList()) {
+  qDebug() << "\t-" << plugin.toString();
+}
+
+QVariantMap nestedMap = result["indent"].toMap();
+qDebug() << "length:" << nestedMap["length"].toInt();
+qDebug() << "use_space:" << nestedMap["use_space"].toBool();
+\endcode
+The output would be:
+\verbatim
+encoding: "UTF-8"
+plugins:
+  - "python"
+  - "c++"
+  - "ruby"
+length: 3
+use_space: true
+\endverbatim
+
+The QJson::QObjectHelper class permits to serialize QObject instances into JSON. QJson::QObjectHelper also allows to 
+initialize a QObject using the values stored inside of a JSON object. 
+
+\section _build Build instructions
+QJson build system is based on cmake. Download QJson sources, extract them, move inside the sources directory and then:
+\code
+mkdir build
+cd build
+cmake ..
+make
+sudo make install
+\endcode
+
+\section _download Get the code
+Actually QJson code is hosted on KDE subversion repository. You can download it using a svn client:
+\code
+svn co svn://anonsvn.kde.org/home/kde/trunk/playground/libs/qjson 
+\endcode
+
+Otherwise you can download source tarballs <a HREF="https://sourceforge.net/project/showfiles.php?group_id=244195">here</a>.
+
+\author Flavio Castelli <flavio@castelli.name>
+*/