반응형
boost json라이브러리를 사용할 때 json array를 생성하거나 파싱하는 예제입니다. 사용법은 예제가 간단하게 되어 있는 관계로 예제를 이해하시면 됩니다.
#include <iostream>
#include <boost/json.hpp>
using namespace std;
using namespace boost;
int main(int argc, char* argv[])
{
json::value jv1 = {
{ "Hello", "World1" }
};
json::value jv2 = {
{ "Hello", "World2" }
};
json::object jo1;
jo1["test1"] = jv1;
jo1["test2"] = jv2;
std::string str1 = json::serialize(jo1);
cout << "Sample 01:..." << endl;
cout << "----------------------------------------" << endl;
cout << str1 << endl << endl;
json::array arr;
arr.push_back(jv1);
arr.push_back(jv2);
std::string str2 = json::serialize(arr);
cout << "Sample 02:..." << endl;
cout << "----------------------------------------" << endl;
cout << str2 << endl << endl;
json::error_code ec;
json::value jv = json::parse("[{\"id\":1}, {\"id\":2}, {\"id\":3}]", ec);
if (ec)
{
cout << ec.message() << endl;
}
json::array& array = jv.as_array();
cout << "Sample 03:..." << endl;
cout << "----------------------------------------" << endl;
for (json::value& entry : array)
{
std::string str3 = serialize(entry);
cout << str3 << endl;
}
return 0;
}
실행 결과는 아래와 같습니다.
Sample 01:...
----------------------------------------
{"test1":{"Hello":"World1"},"test2":{"Hello":"World2"}}
Sample 02:...
----------------------------------------
[{"Hello":"World1"},{"Hello":"World2"}]
Sample 03:...
----------------------------------------
{"id":1}
{"id":2}
{"id":3}
이 글이 조금 낯설다면 아래와 같은 기존 포스트 한번 읽어보시면 좋습니다.
C++ boost json용 라이브러리(boost.json)
boost 1.75 이전 버전은 json을 사용하기 위하여 property_tree를 사용하였습니다. 1.75 버전부터 json을 전문적으로 지원하는 boost.json라이브러리가 생겼습니다. boost.json을 사용하는 Hello World입니..
linkmemo.tistory.com
C++ boost json 구조체와 json 문자열간 변환 예제
boost json라이브러리를 사용하면 구조체와 json문자열 간의 상호 변환이 간단합니다. 여기서는 간단한 변환 예를 살펴보며 사용법을 알아보겠습니다. 우선 아래와 같은 간단한 예로
linkmemo.tistory.com
반응형
'개발 라이브러리 & 툴' 카테고리의 다른 글
MS 비동기 에이전트 라이브러리 소개: #2 Hello World (0) | 2021.12.25 |
---|---|
MS 비동기 에이전트 라이브러리 소개: #1 개념 (0) | 2021.12.24 |
비주얼스튜디오(Visual Studio) 솔루션(*.sln) 커맨드라인 빌드 응용 (0) | 2021.11.30 |
C++ boost json 구조체와 json 문자열간 변환 예제 (5) | 2021.11.21 |
[MongoDB] C/C++ BSON 한글 문자열 입출력 (0) | 2021.11.20 |
boost locale을 이용한 C++에서의 Multi Byte와 UTF8간의 문자열 변환 (0) | 2021.11.19 |
[MongoDB] Mongo C/C++ Driver 관련 자료 (0) | 2021.11.10 |
boost asio address from_string 사용시 주의할 점 (0) | 2021.10.25 |