CARVIEW |
Select Language
HTTP/2 200
date: Sun, 12 Oct 2025 07:26:58 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=a9a7e095286568bdde1d0e13b4987391b328e0dad5d4cb1e1f4da7bf588cd514a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%225KW5Ci5TJ5A8k0Kkn5CMxngY5dIWJm2Q%22%3B%7D; HttpOnly; Path=/
cf-ray: 98d4df3fbd55d817-BLR
Qt Json to XML - Pastebin.com
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class JsonToXml{
- static int guessPrecision(double val){
- double junk;
- int precision = 0;
- for(;!qFuzzyIsNull(std::modf(val,&junk));++precision)
- val*=10.0;
- return precision;
- }
- static void jsonValueToXml(const QJsonValue& val, const QString& name, QXmlStreamWriter& writer){
- if(val.isNull() || val.isUndefined())
- return;
- if(val.isObject())
- return jsonObjectToXml(val.toObject(),name,writer);
- if(val.isArray())
- return jsonArrayToXml(val.toArray(),name,writer);
- writer.writeStartElement(name);
- writer.writeAttribute(QStringLiteral("type"),QStringLiteral("value"));
- if(val.isBool()){
- writer.writeAttribute(QStringLiteral("valueType"),QStringLiteral("boolean"));
- writer.writeCharacters(val.toBool() ? QStringLiteral("true") : QStringLiteral("false"));
- }
- else if(val.isDouble()){
- writer.writeAttribute(QStringLiteral("valueType"),QStringLiteral("double"));
- const double doubleVal = val.toDouble();
- writer.writeCharacters(QString::number(doubleVal,'f',guessPrecision(doubleVal)));
- }
- else{
- writer.writeAttribute(QStringLiteral("valueType"),QStringLiteral("string"));
- writer.writeCharacters(val.toString());
- }
- writer.writeEndElement();
- }
- static void jsonObjectToXml(const QJsonObject& obj, const QString& name, QXmlStreamWriter& writer ){
- if(obj.isEmpty())
- return;
- writer.writeStartElement(name);
- writer.writeAttribute(QStringLiteral("type"),QStringLiteral("object"));
- for(auto i=obj.constBegin(), objEnd = obj.constEnd();i!=objEnd;++i)
- jsonValueToXml(*i,i.key(),writer);
- writer.writeEndElement();
- }
- static void jsonArrayToXml(const QJsonArray& arr, const QString& name, QXmlStreamWriter& writer ){
- writer.writeStartElement(name);
- writer.writeAttribute(QStringLiteral("type"),QStringLiteral("array"));
- for(int i=0, arrSize= arr.size();i<arrSize;++i)
- jsonValueToXml(arr.at(i),name + QString::number(i),writer);
- writer.writeEndElement();
- }
- public:
- static QString jsonToXml(const QJsonDocument& doc, const QString& rootElementName = "root"){
- QString result;
- if(doc.isEmpty() || doc.isNull())
- return result;
- QXmlStreamWriter writer(&result);
- writer.writeStartDocument();
- if(doc.isArray())
- jsonArrayToXml(doc.array(),rootElementName,writer);
- else if(doc.isObject())
- jsonObjectToXml(doc.object(),rootElementName,writer);
- return result;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
-
⭐⭐⭐Make $1500 in 20 minutes⭐⭐
Java | 9 sec ago | 0.10 KB
-
⭐⭐⭐Make $1500 in 20 minutes⭐⭐
Java | 21 sec ago | 0.10 KB
-
⭐⭐⭐Exploit 500$ in 15 Minutes⭐⭐
Java | 33 sec ago | 0.10 KB
-
⭐⭐⭐MAKE $9OO INSTANTLY D A⭐⭐
Java | 36 sec ago | 0.10 KB
-
⭐⭐⭐MAKE $9OO INSTANTLY D M⭐⭐
Java | 44 sec ago | 0.10 KB
-
⭐⭐⭐Make $1500 in 20 minutes⭐⭐
Java | 46 sec ago | 0.10 KB
-
⭐⭐⭐Profit Method⭐⭐
Java | 55 sec ago | 0.10 KB
-
⭐⭐⭐Exploit 500$ in 15 Minutes⭐⭐
Java | 57 sec ago | 0.10 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand