66
77#include < algorithm>
88
9- #include < nlohmann/ json.hpp >
9+ #include < stdcorelib/support/ json.h >
1010
1111#include < QJsonArray>
1212#include < QJsonObject>
@@ -16,7 +16,7 @@ namespace Core::Internal {
1616
1717 class JsonUtils {
1818 public:
19- static nlohmann::json fromQJsonValue (const QJsonValue &value) {
19+ static stdc::JsonValue fromQJsonValue (const QJsonValue &value) {
2020 if (value.isString ())
2121 return value.toString ().toStdString ();
2222
@@ -27,13 +27,13 @@ namespace Core::Internal {
2727 return value.toDouble ();
2828
2929 if (value.isArray ()) {
30- nlohmann::json ret = nlohmann::json::array () ;
30+ stdc::JsonArray ret;
3131 std::ranges::transform (value.toArray (), std::back_inserter (ret), &JsonUtils::fromQJsonValue);
3232 return ret;
3333 }
3434
3535 if (value.isObject ()) {
36- nlohmann::json ret = nlohmann::json::object () ;
36+ stdc::JsonObject ret;
3737 for (auto [key, item] : value.toObject ().asKeyValueRange ()) {
3838 ret[key.toString ().toStdString ()] = fromQJsonValue (item);
3939 }
@@ -43,26 +43,26 @@ namespace Core::Internal {
4343 return {};
4444 }
4545
46- static QJsonValue toQJsonValue (const nlohmann::json &value) {
47- if (value.is_string ())
48- return QString::fromStdString (value.get <std::string> ());
46+ static QJsonValue toQJsonValue (const stdc::JsonValue &value) {
47+ if (value.isString ())
48+ return QString::fromStdString (value.toString ());
4949
50- if (value.is_boolean ())
51- return value.get < bool > ();
50+ if (value.isBool ())
51+ return value.toBool ();
5252
53- if (value.is_number ())
54- return value.get < double > ();
53+ if (value.isNumber ())
54+ return value.toDouble ();
5555
56- if (value.is_array ()) {
56+ if (value.isArray ()) {
5757 QJsonArray ret;
58- std::ranges::transform (value, std::back_inserter (ret), &JsonUtils::toQJsonValue);
58+ std::ranges::transform (value. toArray () , std::back_inserter (ret), &JsonUtils::toQJsonValue);
5959 return ret;
6060 }
6161
62- if (value.is_object ()) {
62+ if (value.isObject ()) {
6363 QJsonObject ret;
64- for (auto it = value. begin (); it != value.end (); ++it ) {
65- ret[it. key (). c_str () ] = toQJsonValue (it. value () );
64+ for (const auto &[key, item] : value.toObject () ) {
65+ ret[QString::fromStdString (key) ] = toQJsonValue (item );
6666 }
6767 return ret;
6868 }
0 commit comments