File indexing completed on 2024-05-05 05:03:50
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "expandjson.h" 0008 #include <QApplication> 0009 #include <QDebug> 0010 #include <QJsonDocument> 0011 #include <QPushButton> 0012 #include <QTextEdit> 0013 #include <QVBoxLayout> 0014 0015 ExpandJson::ExpandJson(QWidget *parent) 0016 : QWidget(parent) 0017 , mInput(new QTextEdit(this)) 0018 , mOutput(new QTextEdit(this)) 0019 , mExpandButton(new QPushButton(QStringLiteral("Expand Json String"), this)) 0020 { 0021 auto layout = new QVBoxLayout(this); 0022 mInput->setAcceptRichText(false); 0023 layout->addWidget(mInput); 0024 0025 mOutput->setReadOnly(true); 0026 layout->addWidget(mOutput); 0027 0028 layout->addWidget(mExpandButton); 0029 connect(mExpandButton, &QPushButton::clicked, this, &ExpandJson::slotExpandJson); 0030 } 0031 0032 void ExpandJson::slotExpandJson() 0033 { 0034 const QString inputStr = mInput->toPlainText().trimmed(); 0035 if (!inputStr.isEmpty()) { 0036 QJsonDocument json = QJsonDocument::fromJson(inputStr.toUtf8()); 0037 qDebug() << " json " << json << inputStr.toUtf8(); 0038 mOutput->setText(QString::fromUtf8(json.toJson(QJsonDocument::Indented))); 0039 } 0040 } 0041 0042 int main(int argc, char *argv[]) 0043 { 0044 QApplication app(argc, argv); 0045 ExpandJson w; 0046 w.show(); 0047 return app.exec(); 0048 } 0049 0050 #include "moc_expandjson.cpp"