summaryrefslogtreecommitdiffstats
path: root/examples/demos/colorpaletteclient/util.cpp
blob: df33dd53c485429349fcef576d655400b36566ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#include "util.h"
#include <QtCore/qjsondocument.h>

std::optional<QJsonObject> byteArrayToJsonObject(const QByteArray& data)
{
    QJsonParseError parseError;
    const auto json = QJsonDocument::fromJson(data, &parseError);

    if (parseError.error) {
        qDebug() << "Response data not JSON:" << parseError.errorString()
                 << "at" << parseError.offset << data;
    }
    return json.isObject() ? json.object() : std::optional<QJsonObject>(std::nullopt);
}