File indexing completed on 2025-01-12 07:20:52
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "jsonp_p.h" 0007 0008 #include <QByteArray> 0009 0010 using namespace KPublicTransport; 0011 0012 QByteArray JsonP::decode(const QByteArray &data) 0013 { 0014 const auto firstBrace = data.indexOf('{'); 0015 const auto firstBracket = data.indexOf('['); 0016 0017 if (firstBrace == 0 || firstBracket == 0 || (firstBrace < 0 && firstBracket < 0)) { 0018 return data; 0019 } 0020 0021 if (firstBrace > 0 && (firstBrace < firstBracket || firstBracket < 0)) { 0022 const auto lastBrace = data.lastIndexOf('}'); 0023 return lastBrace > firstBrace ? data.mid(firstBrace, lastBrace - firstBrace + 1) : data; 0024 } 0025 0026 if (firstBracket > 0 && (firstBracket < firstBrace || firstBrace < 0)) { 0027 const auto lastBracket = data.lastIndexOf(']'); 0028 return lastBracket > firstBracket ? data.mid(firstBracket, lastBracket - firstBracket +1) : data; 0029 } 0030 0031 return data; 0032 }