diff options
author | Ali Kianian <ali.kianian@qt.io> | 2023-12-01 14:13:01 +0200 |
---|---|---|
committer | Ali Kianian <ali.kianian@qt.io> | 2023-12-07 14:05:01 +0000 |
commit | e5eff3c0af9781f0f0ee95e1071d1cd5e451a55d (patch) | |
tree | 739f9ef57c957c0aa08152594c75eb47a5bbbc10 | |
parent | 1a513f74864a5c787baa4d618c51e1df6742ed9f (diff) |
QmlDesigner: Fix the bug for importing json file
- Json objects are considered valid in the json arrays.
- Json arrays are removed from the row objects.
Fixes: QDS-11472
Change-Id: I89d7fb6d12952a994cf5e3aab0869154a3ab5d27
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Shrief Gabr <shrief.gabr@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
(cherry picked from commit 8f6e90783c52d0ba26b902876375efd547c2314b)
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/collectioneditor/collectionimporttools.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/collectioneditor/collectionimporttools.cpp b/src/plugins/qmldesigner/components/collectioneditor/collectionimporttools.cpp index b3691ce78b4..183730873d6 100644 --- a/src/plugins/qmldesigner/components/collectioneditor/collectionimporttools.cpp +++ b/src/plugins/qmldesigner/components/collectioneditor/collectionimporttools.cpp @@ -33,8 +33,16 @@ QJsonArray loadAsSingleJsonCollection(const QUrl &url) auto refineJsonArray = [](const QJsonArray &array) -> QJsonArray { QJsonArray resultArray; for (const QJsonValue &collectionData : array) { - if (!collectionData.isObject()) - resultArray.push_back(collectionData); + if (collectionData.isObject()) { + QJsonObject rowObject = collectionData.toObject(); + const QStringList rowKeys = rowObject.keys(); + for (const QString &key : rowKeys) { + QJsonValue cellValue = rowObject.value(key); + if (cellValue.isArray()) + rowObject.remove(key); + } + resultArray.push_back(rowObject); + } } return resultArray; }; |