![]() |
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>
Include dependency graph for qjsonparser.cpp: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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 353 of file qjsonparser.cpp.
References compare(), and Q_ASSERT.
Referenced by sortContainer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 792 of file qjsonparser.cpp.
References addHexDigit(), ch, DEBUG, and i.
Here is the call graph for this function:
|
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.
Here is the call graph for this function:
|
static |
Definition at line 28 of file qjsonparser.cpp.