QJsonObject Class
QJsonObject 클래스는 JSON 객체를 캡슐화합니다. 더 보기...
| 헤더: | #include <QJsonObject> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QJsonObject는 Qt의 JSON 지원 및 암시적 공유 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
QJsonObject 비교
| 범주 | 비교 가능한 유형 |
|---|---|
| 동등성 | QJsonObject |
| 동등성 | QJsonValue 및 QJsonValueConstRef. |
공개 유형
| class | const_iterator |
| class | iterator |
| ConstIterator | |
| Iterator | |
(since 6.10) | const_key_value_iterator |
| key_type | |
(since 6.10) | key_value_iterator |
| mapped_type | |
| size_type |
공개 함수
| QJsonObject() | |
| QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args) | |
| QJsonObject(const QJsonObject &other) | |
| QJsonObject(QJsonObject &&other) | |
| ~QJsonObject() | |
(since 6.10) auto | asKeyValueRange() && |
(since 6.10) auto | asKeyValueRange() & |
(since 6.10) auto | asKeyValueRange() const && |
(since 6.10) auto | asKeyValueRange() const & |
| QJsonObject::iterator | begin() |
| QJsonObject::const_iterator | begin() const |
(since 6.12) QJsonObject::const_iterator | cbegin() const |
(since 6.12) QJsonObject::const_iterator | cend() const |
| QJsonObject::const_iterator | constBegin() const |
| QJsonObject::const_iterator | constEnd() const |
| QJsonObject::const_iterator | constFind(const QString &key) const |
| QJsonObject::const_iterator | constFind(QLatin1StringView key) const |
| QJsonObject::const_iterator | constFind(QStringView key) const |
(since 6.10) QJsonObject::const_key_value_iterator | constKeyValueBegin() const |
(since 6.10) QJsonObject::const_key_value_iterator | constKeyValueEnd() const |
| bool | contains(const QString &key) const |
| bool | contains(QLatin1StringView key) const |
| bool | contains(QStringView key) const |
| qsizetype | count() const |
| bool | empty() const |
| QJsonObject::iterator | end() |
| QJsonObject::const_iterator | end() const |
| QJsonObject::iterator | erase(QJsonObject::iterator it) |
| QJsonObject::iterator | find(const QString &key) |
| QJsonObject::iterator | find(QLatin1StringView key) |
| QJsonObject::iterator | find(QStringView key) |
| QJsonObject::const_iterator | find(QLatin1StringView key) const |
| QJsonObject::const_iterator | find(QStringView key) const |
| QJsonObject::const_iterator | find(const QString &key) const |
| QJsonObject::iterator | insert(const QString &key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QLatin1StringView key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QStringView key, const QJsonValue &value) |
| bool | isEmpty() const |
(since 6.10) QJsonObject::key_value_iterator | keyValueBegin() |
(since 6.10) QJsonObject::const_key_value_iterator | keyValueBegin() const |
(since 6.10) QJsonObject::key_value_iterator | keyValueEnd() |
(since 6.10) QJsonObject::const_key_value_iterator | keyValueEnd() const |
| QStringList | keys() const |
| qsizetype | length() const |
| void | remove(const QString &key) |
| void | remove(QLatin1StringView key) |
| void | remove(QStringView key) |
| qsizetype | size() const |
| void | swap(QJsonObject &other) |
| QJsonValue | take(const QString &key) |
| QJsonValue | take(QLatin1StringView key) |
| QJsonValue | take(QStringView key) |
| QVariantHash | toVariantHash() const |
| QVariantMap | toVariantMap() const |
| QJsonValue | value(const QString &key) const |
| QJsonValue | value(QLatin1StringView key) const |
| QJsonValue | value(QStringView key) const |
| QJsonObject & | operator=(QJsonObject &&other) |
| QJsonObject & | operator=(const QJsonObject &other) |
| QJsonValueRef | operator[](const QString &key) |
| QJsonValue | operator[](const QString &key) const |
| QJsonValueRef | operator[](QLatin1StringView key) |
| QJsonValueRef | operator[](QStringView key) |
| QJsonValue | operator[](QLatin1StringView key) const |
| QJsonValue | operator[](QStringView key) const |
정적 공용 멤버
| QJsonObject | fromVariantHash(const QVariantHash &hash) |
| QJsonObject | fromVariantMap(const QVariantMap &map) |
관련 비회원
| bool | operator!=(const QJsonObject &lhs, const QJsonObject &rhs) |
| bool | operator==(const QJsonObject &lhs, const QJsonObject &rhs) |
자세한 설명
JSON 객체는 키-값 쌍의 목록으로, 여기서 키는 고유한 문자열이며 값은 ` QJsonValue`로 표현됩니다.
QJsonObject는 QVariantMap 로 변환하거나 그 반대로 변환할 수 있습니다. size(), insert() 및 remove() 항목을 사용하여 (키, 값) 쌍의 수를 조회할 수 있으며, 표준 C++ 이터레이터 패턴을 사용하여 내용을 반복 처리할 수 있습니다.
QJsonObject는 암시적으로 공유되는 클래스이며, 수정되지 않는 한 생성된 원본 문서와 데이터를 공유합니다.
QJsonDocument 를 통해 객체를 텍스트 기반 JSON으로 변환하거나 그 반대로 변환할 수 있습니다.
Qt의 JSON 지원 및 게임 저장 및 불러오기도참조하십시오 .
멤버 유형 문서
QJsonObject::ConstIterator
QJsonObject::const_iterator 의 Qt 스타일 동의어.
QJsonObject::Iterator
QJsonObject::iterator 의 Qt 스타일 동의어.
[since 6.10] QJsonObject::const_key_value_iterator
QJsonObject::const_key_value_iterator 타입 정의는 QJsonObject 에 대한 STL 스타일의 이터레이터를 제공합니다.
QJsonObject::const_key_value_iterator는 본질적으로 QJsonObject::const_iterator 와 동일하지만, operator*()가 값 대신 키/값 쌍을 반환한다는 점이 다릅니다.
이 typedef는 Qt 6.10에서 도입되었습니다.
QKeyValueIterator도 참조하십시오 .
QJsonObject::key_type
QString 에 대한 typedef입니다. STL 호환성을 위해 제공됩니다.
[since 6.10] QJsonObject::key_value_iterator
QJsonObject::key_value_iterator typedef는 ` QJsonObject`에 대한 STL 스타일의 이터레이터를 제공합니다.
QJsonObject::key_value_iterator는 본질적으로 QJsonObject::iterator 와 동일하지만, operator*()가 값 대신 키/값 쌍을 반환한다는 점이 다릅니다.
이 typedef는 Qt 6.10에서 도입되었습니다.
QKeyValueIterator도 참조하십시오 .
QJsonObject::mapped_type
QJsonValue 에 대한 typedef입니다. STL 호환성을 위해 제공됩니다.
QJsonObject::size_type
qsizetype에 대한 typedef입니다. STL 호환성을 위해 제공됩니다.
멤버 함수 설명서
QJsonObject::QJsonObject()
빈 JSON 객체를 생성합니다.
isEmpty()도 참조하십시오 .
QJsonObject::QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)
args 의 초기화 목록을 사용하여 초기화된 QJsonObject 인스턴스를 생성합니다. 예를 들어:
QJsonObject object
{
{"property1", 1},
{"property2", 2}
};[noexcept] QJsonObject::QJsonObject(const QJsonObject &other)
other 의 복사본을 생성합니다.
QJsonObject는 암시적으로 공유되므로, 객체가 수정되지 않는 한 복사본은 얕은 복사입니다.
[noexcept] QJsonObject::QJsonObject(QJsonObject &&other)
other 에서 QJsonObject를 Move 방식으로 생성합니다.
[noexcept] QJsonObject::~QJsonObject()
객체를 삭제합니다.
[since 6.10] auto QJsonObject::asKeyValueRange() &&
[since 6.10] auto QJsonObject::asKeyValueRange() &
[since 6.10] auto QJsonObject::asKeyValueRange() const &&
[since 6.10] auto QJsonObject::asKeyValueRange() const &
이 객체를 키/값 쌍으로 반복 처리할 수 있는 범위 객체를 반환합니다. 예를 들어, 이 범위 객체는 구조화된 바인딩 선언과 함께 범위 기반 for 루프에서 사용할 수 있습니다:
QJsonObject obj{
{ "something", "is" },
{ "in", "this" },
{ "object", 42 },
};
for (auto [key, value]: obj.asKeyValueRange()) {
qDebug() << key << "->" << value;
if (key== "object")
value = "!"; // 이 키에 해당하는 객체를 수정한다
}
qDebug() << obj["object"]; // QJsonValue(string, "!")이 방법으로 얻은 값은 객체 내의 값에 대한 참조라는 점에 유의하십시오. 구체적으로, 이 값을 변경하면 객체 자체가 수정됩니다.
rvalue(예: 범위 지정 for 루프의 초기화자에서 생성된 임시 변수)에서 이 메서드를 호출하면, 해당 객체가 이 범위 내에 캡처됩니다.
이 함수들은 Qt 6.10에서 도입되었습니다.
QKeyValueIterator도 참조하십시오 .
QJsonObject::iterator QJsonObject::begin()
객체의 첫 번째 항목을 가리키는 STL 스타일의 이터레이터를 반환합니다.
constBegin() 및 end()도 참조하십시오 .
QJsonObject::const_iterator QJsonObject::begin() const
이것은 오버로드된 함수입니다.
[since 6.12] QJsonObject::const_iterator QJsonObject::cbegin() const
객체의 첫 번째 항목을 가리키는 const STL 스타일의 이터레이터를 반환합니다.
이 함수는 Qt 6.12에서 도입되었습니다.
[since 6.12] QJsonObject::const_iterator QJsonObject::cend() const
객체의 마지막 항목 다음에 있는 가상의 항목을 가리키는 const STL 스타일의 반복자를 반환합니다.
이 함수는 Qt 6.12에서 도입되었습니다.
QJsonObject::const_iterator QJsonObject::constBegin() const
객체의 첫 번째 항목을 가리키는 STL 스타일의 const 이터레이터를 반환합니다.
begin() 및 constEnd()도 참조하십시오 .
QJsonObject::const_iterator QJsonObject::constEnd() const
객체의 마지막 항목 다음에 있는 가상의 항목을 가리키는 STL 스타일의 const 이터레이터를 반환합니다.
constBegin() 및 end()도 참조하십시오 .
QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const
맵 내에서 키 key 을 가진 항목을 가리키는 const 이터레이터를 반환합니다.
맵에 키 ` key`을 가진 항목이 없는 경우, 이 함수는 ` constEnd()`을 반환합니다.
QJsonObject::const_iterator QJsonObject::constFind(QLatin1StringView key) const
이것은 오버로드된 함수입니다.
QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const
이것은 오버로드된 함수입니다.
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueBegin() const
객체의 첫 번째 항목을 가리키는 const STL 스타일의 이터레이터를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keyValueBegin()도 참조하십시오 .
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueEnd() const
객체의 마지막 항목 다음에 오는 가상의 항목을 가리키는 const STL 스타일의 반복자를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
constKeyValueBegin()도 참조하십시오 .
bool QJsonObject::contains(const QString &key) const
객체에 key 키가 포함되어 있으면 true 를 반환합니다.
insert(), remove(), take()도 참조하십시오 .
bool QJsonObject::contains(QLatin1StringView key) const
이것은 오버로드된 함수입니다.
bool QJsonObject::contains(QStringView key) const
이것은 오버로드된 함수입니다.
qsizetype QJsonObject::count() const
size()와 동일합니다.
bool QJsonObject::empty() const
이 함수는 STL 호환성을 위해 제공됩니다. 이 함수는 ` isEmpty()`와 동일하며, 객체가 비어 있으면 ` true `를 반환하고, 그렇지 않으면 ` false`를 반환합니다.
QJsonObject::iterator QJsonObject::end()
객체의 마지막 항목 다음에 있는 가상의 항목을 가리키는 STL 스타일의 이터레이터를 반환합니다.
begin() 및 constEnd()도 참조하십시오 .
QJsonObject::const_iterator QJsonObject::end() const
이것은 오버로드된 함수입니다.
QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)
이테레이터 ` it `가 가리키는 (키, 값) 쌍을 맵에서 제거하고, 맵의 다음 항목을 가리키는 이테레이터를 반환합니다.
remove()도 참조하십시오 .
QJsonObject::iterator QJsonObject::find(const QString &key)
맵에서 키 ` key `을 가진 항목을 가리키는 이터레이터를 반환합니다.
맵에 키 ` key`을 가진 항목이 없는 경우, 이 함수는 ` end()`를 반환합니다.
QJsonObject::iterator QJsonObject::find(QLatin1StringView key)
이것은 오버로드된 함수입니다.
QJsonObject::iterator QJsonObject::find(QStringView key)
이것은 오버로드된 함수입니다.
QJsonObject::const_iterator QJsonObject::find(QLatin1StringView key) const
이것은 오버로드된 함수입니다.
QJsonObject::const_iterator QJsonObject::find(QStringView key) const
이것은 오버로드된 함수입니다.
QJsonObject::const_iterator QJsonObject::find(const QString &key) const
이것은 오버로드된 함수입니다.
[static] QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)
변형 해시 hash 를 QJsonObject 로 변환합니다.
hash 의 키는 JSON 객체의 키로 사용되며, QVariant 의 값은 JSON 값으로 변환됩니다.
참고: QVariant 에서변환하는 과정은 완전히 무손실이 아닙니다. 자세한 내용은 QJsonValue::fromVariant() 문서를 참조하십시오.
관련 항목: fromVariantMap(), toVariantHash(), QJsonValue::fromVariant().
[static] QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
변형 맵 ` map `을 ` QJsonObject`으로 변환합니다.
map 의 키는 JSON 객체의 키로 사용되며, QVariant 의 값은 JSON 값으로 변환됩니다.
참고: QVariant 에서변환하는 과정은 완전히 무손실이 아닙니다. 자세한 내용은 QJsonValue::fromVariant() 문서를 참조하십시오.
관련 항목: fromVariantHash(), toVariantMap(), QJsonValue::fromVariant().
QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)
키가 key 이고 값이 value 인 새 항목을 삽입합니다.
이미 키가 key 인 항목이 존재하는 경우, 해당 항목의 값이 value 로 대체됩니다.
삽입된 항목을 가리키는 이터레이터를 반환합니다.
값이 QJsonValue::Undefined 인 경우, 해당 키가 객체에서 제거됩니다. 이때 반환되는 이터레이터는 end()을 가리키게 됩니다.
remove(), take(), QJsonObject::iterator 및 end()도 참조하십시오 .
QJsonObject::iterator QJsonObject::insert(QLatin1StringView key, const QJsonValue &value)
이것은 오버로드된 함수입니다.
QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)
이것은 오버로드된 함수입니다.
bool QJsonObject::isEmpty() const
객체가 비어 있으면 true 를 반환합니다. 이는 size() == 0과 동일합니다.
size()도 참조하십시오 .
[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueBegin()
객체의 첫 번째 항목을 가리키는 STL 스타일의 이터레이터를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keyValueEnd()도 참조하십시오 .
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueBegin() const
객체의 첫 번째 항목을 가리키는 const STL 스타일 이터레이터를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keyValueEnd()도 참조하십시오 .
[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueEnd()
객체의 마지막 항목 다음에 있는 가상의 항목을 가리키는 STL 스타일의 이터레이터를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keyValueBegin()도 참조하십시오 .
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueEnd() const
객체의 마지막 항목 다음에 있는 가상의 항목을 가리키는 const STL 스타일의 반복자를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keyValueBegin()도 참조하십시오 .
QStringList QJsonObject::keys() const
이 객체에 포함된 모든 키의 목록을 반환합니다.
이 목록은 알파벳순으로 정렬됩니다.
qsizetype QJsonObject::length() const
size()와 동일합니다.
void QJsonObject::remove(const QString &key)
객체에서 ` key `를 제거합니다.
void QJsonObject::remove(QLatin1StringView key)
이것은 오버로드된 함수입니다.
void QJsonObject::remove(QStringView key)
이것은 오버로드된 함수입니다.
qsizetype QJsonObject::size() const
객체에 저장된 (키, 값) 쌍의 개수를 반환합니다.
[noexcept] void QJsonObject::swap(QJsonObject &other)
이 객체를 other 와 교환합니다. 이 작업은 매우 빠르며 실패하는 일이 없습니다.
QJsonValue QJsonObject::take(const QString &key)
객체에서 ` key `를 제거합니다.
key 가 참조하는 값을 포함하는 QJsonValue 를 반환합니다. key 가 객체에 포함되어 있지 않은 경우, 반환되는 QJsonValue 는 QJsonValue::Undefined 입니다.
insert(), remove() 및 QJsonValue도 참조하십시오 .
QJsonValue QJsonObject::take(QLatin1StringView key)
이것은 오버로드된 함수입니다.
QJsonValue QJsonObject::take(QStringView key)
이 함수는 오버로드된 함수입니다.
QVariantHash QJsonObject::toVariantHash() const
이 객체를 ` QVariantHash`로 변환합니다.
생성된 해시를 반환합니다.
toVariantMap()도 참조하십시오 .
QVariantMap QJsonObject::toVariantMap() const
이 객체를 ` QVariantMap`로 변환합니다.
생성된 맵을 반환합니다.
toVariantHash()도 참조하십시오 .
QJsonValue QJsonObject::value(const QString &key) const
key 키의 값을 나타내는 QJsonValue 객체를 반환합니다.
키가 존재하지 않는 경우, 반환되는 ` QJsonValue `는 ` QJsonValue::Undefined `입니다.
QJsonValue 및 QJsonValue::isUndefined()도 참조하십시오 .
QJsonValue QJsonObject::value(QLatin1StringView key) const
이것은 오버로드된 함수입니다.
QJsonValue QJsonObject::value(QStringView key) const
이것은 오버로드된 함수입니다.
[noexcept] QJsonObject &QJsonObject::operator=(QJsonObject &&other)
other 를 이 객체에 할당합니다.
[noexcept] QJsonObject &QJsonObject::operator=(const QJsonObject &other)
이 객체에 ` other `를 할당합니다.
QJsonValueRef QJsonObject::operator[](const QString &key)
key 의 값에 대한 참조를 반환합니다. 객체에 key 키를 가진 값이 없는 경우, QJsonValue::Null 값을 가진 값이 생성된 후 반환됩니다.
반환 값의 유형은 QJsonValueRef 이며, 이는 QJsonArray 및 QJsonObject 을 위한 헬퍼 클래스입니다. QJsonValueRef 유형의 객체를 얻으면, 마치 QJsonValue 에 대한 참조인 것처럼 사용할 수 있습니다. 이 객체에 값을 할당하면, 해당 할당은 참조를 얻은 QJsonArray 또는 QJsonObject 내의 요소에 적용됩니다.
value()도 참조하십시오 .
QJsonValue QJsonObject::operator[](const QString &key) const
key 키의 값을 나타내는 QJsonValue 객체를 반환합니다.
이는 ` value()`와 동일한 기능을 수행합니다.
키가 존재하지 않는 경우, 반환되는 QJsonValue 는 QJsonValue::Undefined 입니다.
value(), QJsonValue 및 QJsonValue::isUndefined()도 참조하십시오 .
QJsonValueRef QJsonObject::operator[](QLatin1StringView key)
이것은 오버로드된 함수입니다.
QJsonValueRef QJsonObject::operator[](QStringView key)
이것은 오버로드된 함수입니다.
QJsonValue QJsonObject::operator[](QLatin1StringView key) const
이것은 오버로드된 함수입니다.
QJsonValue QJsonObject::operator[](QStringView key) const
이 함수는 오버로드된 함수입니다.
관련 비회원
[noexcept] bool operator!=(const QJsonObject &lhs, const QJsonObject &rhs)
lhs 객체가 rhs 과 같지 않으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
[noexcept] bool operator==(const QJsonObject &lhs, const QJsonObject &rhs)
lhs 객체가 rhs 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.