![]() |
Qt 6.x
The Qt SDK
|
#include <qcoreapplication.h>
#include <qdebug.h>
#include "qjsonparser_p.h"
#include "qjson_p.h"
#include "private/qstringconverter_p.h"
#include "private/qcborvalue_p.h"
#include "private/qnumeric_p.h"
#include <private/qtools_p.h>
Go to the source code of this file.
Classes | |
class | StashedContainer |
Macros | |
#define | BEGIN if (1) ; else qDebug() |
#define | END do {} while (0) |
#define | DEBUG if (1) ; else qDebug() |
#define | JSONERR_OK QT_TRANSLATE_NOOP("QJsonParseError", "no error occurred") |
#define | JSONERR_UNTERM_OBJ QT_TRANSLATE_NOOP("QJsonParseError", "unterminated object") |
#define | JSONERR_MISS_NSEP QT_TRANSLATE_NOOP("QJsonParseError", "missing name separator") |
#define | JSONERR_UNTERM_AR QT_TRANSLATE_NOOP("QJsonParseError", "unterminated array") |
#define | JSONERR_MISS_VSEP QT_TRANSLATE_NOOP("QJsonParseError", "missing value separator") |
#define | JSONERR_ILLEGAL_VAL QT_TRANSLATE_NOOP("QJsonParseError", "illegal value") |
#define | JSONERR_END_OF_NUM QT_TRANSLATE_NOOP("QJsonParseError", "invalid termination by number") |
#define | JSONERR_ILLEGAL_NUM QT_TRANSLATE_NOOP("QJsonParseError", "illegal number") |
#define | JSONERR_STR_ESC_SEQ QT_TRANSLATE_NOOP("QJsonParseError", "invalid escape sequence") |
#define | JSONERR_STR_UTF8 QT_TRANSLATE_NOOP("QJsonParseError", "invalid UTF8 string") |
#define | JSONERR_UTERM_STR QT_TRANSLATE_NOOP("QJsonParseError", "unterminated string") |
#define | JSONERR_MISS_OBJ QT_TRANSLATE_NOOP("QJsonParseError", "object is missing after a comma") |
#define | JSONERR_DEEP_NEST QT_TRANSLATE_NOOP("QJsonParseError", "too deeply nested document") |
#define | JSONERR_DOC_LARGE QT_TRANSLATE_NOOP("QJsonParseError", "too large document") |
#define | JSONERR_GARBAGEEND QT_TRANSLATE_NOOP("QJsonParseError", "garbage at the end of the document") |
Enumerations | |
enum | { Space = 0x20 , Tab = 0x09 , LineFeed = 0x0a , Return = 0x0d , BeginArray = 0x5b , BeginObject = 0x7b , EndArray = 0x5d , EndObject = 0x7d , NameSeparator = 0x3a , ValueSeparator = 0x2c , Quote = 0x22 } |
Functions | |
template<typename Iterator , typename Compare , typename Assign > | |
static Iterator | customAssigningUniqueLast (Iterator first, Iterator last, Compare compare, Assign assign) |
static void | sortContainer (QCborContainerPrivate *container) |
static bool | addHexDigit (char digit, char32_t *result) |
static bool | scanEscapeSequence (const char *&json, const char *end, char32_t *ch) |
static bool | scanUtf8Char (const char *&json, const char *end, char32_t *result) |
Variables | |
static const int | nestingLimit = 1024 |
Definition at line 23 of file qjsonparser.cpp.
Definition at line 25 of file qjsonparser.cpp.
Definition at line 24 of file qjsonparser.cpp.
#define JSONERR_DEEP_NEST QT_TRANSLATE_NOOP("QJsonParseError", "too deeply nested document") |
Definition at line 47 of file qjsonparser.cpp.
#define JSONERR_DOC_LARGE QT_TRANSLATE_NOOP("QJsonParseError", "too large document") |
Definition at line 48 of file qjsonparser.cpp.
#define JSONERR_END_OF_NUM QT_TRANSLATE_NOOP("QJsonParseError", "invalid termination by number") |
Definition at line 41 of file qjsonparser.cpp.
#define JSONERR_GARBAGEEND QT_TRANSLATE_NOOP("QJsonParseError", "garbage at the end of the document") |
Definition at line 49 of file qjsonparser.cpp.
#define JSONERR_ILLEGAL_NUM QT_TRANSLATE_NOOP("QJsonParseError", "illegal number") |
Definition at line 42 of file qjsonparser.cpp.
#define JSONERR_ILLEGAL_VAL QT_TRANSLATE_NOOP("QJsonParseError", "illegal value") |
Definition at line 40 of file qjsonparser.cpp.
#define JSONERR_MISS_NSEP QT_TRANSLATE_NOOP("QJsonParseError", "missing name separator") |
Definition at line 37 of file qjsonparser.cpp.
#define JSONERR_MISS_OBJ QT_TRANSLATE_NOOP("QJsonParseError", "object is missing after a comma") |
Definition at line 46 of file qjsonparser.cpp.
#define JSONERR_MISS_VSEP QT_TRANSLATE_NOOP("QJsonParseError", "missing value separator") |
Definition at line 39 of file qjsonparser.cpp.
#define JSONERR_OK QT_TRANSLATE_NOOP("QJsonParseError", "no error occurred") |
Definition at line 35 of file qjsonparser.cpp.
#define JSONERR_STR_ESC_SEQ QT_TRANSLATE_NOOP("QJsonParseError", "invalid escape sequence") |
Definition at line 43 of file qjsonparser.cpp.
#define JSONERR_STR_UTF8 QT_TRANSLATE_NOOP("QJsonParseError", "invalid UTF8 string") |
Definition at line 44 of file qjsonparser.cpp.
#define JSONERR_UNTERM_AR QT_TRANSLATE_NOOP("QJsonParseError", "unterminated array") |
Definition at line 38 of file qjsonparser.cpp.
#define JSONERR_UNTERM_OBJ QT_TRANSLATE_NOOP("QJsonParseError", "unterminated object") |
Definition at line 36 of file qjsonparser.cpp.
#define JSONERR_UTERM_STR QT_TRANSLATE_NOOP("QJsonParseError", "unterminated string") |
Definition at line 45 of file qjsonparser.cpp.
anonymous enum |
Enumerator | |
---|---|
Space | |
Tab | |
LineFeed | |
Return | |
BeginArray | |
BeginObject | |
EndArray | |
EndObject | |
NameSeparator | |
ValueSeparator | |
Quote |
Definition at line 229 of file qjsonparser.cpp.
|
inlinestatic |
Definition at line 780 of file qjsonparser.cpp.
References QtMiscUtils::fromHex().
Referenced by scanEscapeSequence(), and scanEscapeSequence().
|
static |
Definition at line 353 of file qjsonparser.cpp.
References compare(), and Q_ASSERT.
Referenced by sortContainer().
|
inlinestatic |
Definition at line 792 of file qjsonparser.cpp.
References addHexDigit(), ch, DEBUG, and i.
|
inlinestatic |
Definition at line 837 of file qjsonparser.cpp.
|
static |
Definition at line 383 of file qjsonparser.cpp.
References QtCbor::ByteData::asStringView(), QtCbor::ByteData::asUtf8StringView(), QList< T >::begin(), QCborContainerPrivate::byteData(), compare(), QtPrivate::compareStrings(), QCborContainerPrivate::compareUtf8(), QtCbor::Element::container, customAssigningUniqueLast(), QCborContainerPrivate::deref(), QCborContainerPrivate::elements, QList< T >::end(), QList< T >::erase(), QtCbor::Element::flags, QtCbor::Element::HasByteData, QtCbor::Element::IsContainer, Q_ASSERT, QtCbor::Element::StringIsUtf16, and QtCbor::Element::value.
|
static |
Definition at line 28 of file qjsonparser.cpp.