rapidjson 예제

FAQ, API 설명서, 예제 및 단위 테스트를 참조할 수도 있습니다. 이 예제는 잠재적인 오류를 처리하지 않았습니다. 정수 값은 변환없이 다양한 방법으로 얻을 수 있습니다. 예를 들어 123을 포함하는 값 x는 x.IsInt() == x.IsUint() == x.IsInt64() == x.IsUint64() == x.IsUint64(== true)를 만듭니다. 그러나 -30000000000을 포함하는 값 y는 x.IsInt64() == true만 만듭니다. == 및 !=를 사용하여 값을 비교할 수 있습니다. 두 값은 형식과 내용이 동일한 경우에만 동일합니다. 값을 기본 형식과 비교할 수도 있습니다. 다음은 예제입니다. 이 섹션에서는 예제/자습서/tutorial.cpp의 발췌를 사용합니다. https://codeflu.blog/2017/10/18/understanding-rapidjson-part-2/ 기본 생성자별로 값 또는 문서를 만들 때 해당 형식은 Null입니다. 형식을 변경하려면 SetXXX() 또는 할당 연산자를 호출합니다.

값에는 다양한 유형의 값이 포함될 수 있으므로 해당 형식을 확인하고 적절한 API를 사용하여 값을 가져와야 할 수 있습니다. 이 예제에서 “hello” 멤버는 JSON 문자열과 연결됩니다. 배열의 요소에 정수 리터로 액세스할 수 있습니다(예: [0], a[1], a[2]. 이 간단한 예제에서는 JSON 문자열을 문서(DOM)로 구문 분석하고 DOM을 간단하게 수정한 다음 마지막으로 DOM을 JSON 문자열로 문자열화합니다. 성공적인 빌드에서는 bin 디렉터리에서 컴파일된 테스트 및 예제 바이너리를 찾을 수 있습니다. 생성된 설명서는 빌드 트리의 문서/html 디렉토리에서 사용할 수 있습니다. 빌드가 완료된 후 테스트를 실행하려면 빌드 트리에서 테스트 또는 ctest를 실행하십시오. ctest -V 명령을 사용하여 자세한 출력을 얻을 수 있습니다. RapidJSON은 JSON 형식 간에 값을 자동으로 변환하지 않습니다. 값이 문자열인 경우 예를 들어 GetInt()를 호출하는 것은 유효하지 않습니다. 디버그 모드에서어설을 실패합니다. 릴리스 모드에서는 동작이 정의되지 않습니다.

따라서 이동 의미 체계를 사용하면 위의 예가 됩니다. 프랭크가 말했듯이,이 API는 매우 직관적입니다. 사소한 예제를 덮는 것은 많은 도움이 될 것입니다. RapidJSON을 디자인하는 동안 매우 특별한 결정은 값 할당이 소스 값을 대상 값에 복사하지 않는다는 것입니다. 대신 소스의 값이 대상으로 이동됩니다. 예를 들어 이 예제에서는 문서 인스턴스에서 할당자가 가져옵니다. 이것은 RapidJSON을 사용할 때 일반적인 관용구입니다. 그러나 할당자의 다른 인스턴스를 사용할 수 있습니다. .

문자열의 길이를 매개 변수로 허용합니다. 이 생성자는 문자열 내에 null 문자를 저장하는 것을 지원하며 더 나은 성능을 제공해야 합니다. 아래 세부 정보를 입력하거나 로그인할 아이콘을 클릭합니다: C++11이 활성화된 경우 범위 기반 for 루프를 사용하여 배열의 모든 요소에 액세스할 수 있습니다.

Comments are closed.