Use Json::parseUntilMalformed in McClient::parseResponse

Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
This commit is contained in:
Dylan Schooner
2025-12-18 14:14:29 -05:00
parent e1eee6e3ca
commit 9c7fe72f9c
2 changed files with 5 additions and 9 deletions

View File

@@ -172,6 +172,7 @@ bool processMCMeta(DataPack* pack, QByteArray&& raw_data)
auto json_doc = Json::parseUntilMalformed(raw_data, &parse_error);
if (parse_error.error != QJsonParseError::NoError) {
qWarning() << "Failed to parse JSON:" << parse_error.errorString();
return false;
}
try {

View File

@@ -81,16 +81,11 @@ void McClient::parseResponse()
// 'resp' should now be the JSON string
QJsonParseError parseError;
QJsonDocument doc = QJsonDocument::fromJson(m_resp, &parseError);
QJsonDocument doc = Json::parseUntilMalformed(m_resp, &parseError);
if (parseError.error != QJsonParseError::NoError) {
QByteArray validJson = m_resp.left(parseError.offset);
doc = QJsonDocument::fromJson(validJson, &parseError);
if (parseError.error != QJsonParseError::NoError) {
qDebug() << "Failed to parse JSON:" << parseError.errorString();
emitFail(parseError.errorString());
return;
}
qDebug() << "Failed to parse JSON:" << parseError.errorString();
emitFail(parseError.errorString());
return;
}
emitSucceed(doc.object());
}