Qt의 JSON 지원

Qt는 JSON 데이터 처리를 지원합니다. JSON은 자바스크립트에서 파생된 객체 데이터를 인코딩하는 형식이지만 현재 인터넷에서 데이터 교환 형식으로 널리 사용되고 있습니다.

Qt의 JSON 지원은 JSON 데이터를 구문 분석, 수정 및 저장하는 데 사용하기 쉬운 C++ API를 제공합니다.

JSON 데이터 형식에 대한 자세한 내용은 json.orgRFC 4627에서 확인할 수 있습니다.

개요

JSON은 구조화된 데이터를 저장하는 형식입니다. 6가지 기본 데이터 유형이 있습니다:

  • bool
  • double
  • 문자열
  • 배열
  • 객체
  • null

값은 위의 모든 유형을 가질 수 있습니다. 부울 값은 JSON에서 참 또는 거짓 문자열로 표현됩니다. JSON은 숫자의 유효 범위를 명시적으로 지정하지 않지만, Qt에서 지원하는 것은 유효 범위와 정밀도가 2진수로 제한됩니다. 문자열은 유효한 모든 유니코드 문자열일 수 있습니다. 배열은 값의 목록이고 객체는 키/값 쌍의 컬렉션입니다. 객체의 모든 키는 문자열이며, 객체에는 중복 키를 포함할 수 없습니다.

JSON의 텍스트 표현은 배열을 대괄호([ ... ])로 묶고 객체를 중괄호({ ... })로 묶습니다. 배열과 객체의 항목은 쉼표로 구분됩니다. 객체에서 키와 값 사이의 구분 기호는 콜론(:)입니다.

사람, 나이, 주소, 전화번호를 인코딩하는 간단한 JSON 문서는 다음과 같이 보일 수 있습니다:

{
    "FirstName": "John",
    "LastName": "Doe",
    "Age": 43,
    "Address": {
        "Street": "Downing Street 10",
        "City": "London",
        "Country": "Great Britain"
    },
    "Phone numbers": [
        "+44 1234567",
        "+44 2345678"
    ]
}

위의 예는 5개의 키/값 쌍이 있는 객체로 구성되어 있습니다. 값 중 두 개는 문자열, 하나는 숫자, 하나는 다른 객체, 마지막 하나는 배열입니다.

유효한 JSON 문서는 배열 또는 객체이므로 문서는 항상 대괄호 또는 중괄호로 시작합니다.

JSON 클래스

모든 JSON 클래스는 값 기반이며 암시적으로 공유되는 클래스입니다.

Qt의 JSON 지원은 이러한 클래스로 구성됩니다:

게임 저장 및 로드를참조하십시오 .

QJsonArray

JSON 배열 캡슐화

QJsonDocument

JSON 문서를 읽고 쓰는 방법

QJsonObject

JSON 객체 캡슐화

QJsonObject::const_iterator

QJsonObject::const_iterator 클래스는 QJsonObject에 대한 STL 스타일의 const 이터레이터를 제공합니다.

QJsonObject::iterator

QJsonObject::iterator 클래스는 QJsonObject에 대한 STL 스타일의 non-const 이터레이터를 제공합니다.

QJsonParseError

JSON 구문 분석 중 오류를 보고하는 데 사용됩니다.

QJsonValue

값을 JSON으로 캡슐화합니다.

© 2025 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.