개요
C++ REST SDK 기반 Json 형식 만들기, Json 형식 데이터 에서 데이터 요소(키-값) 추출하기.
Json 형식 만들기
object 를 바로 json value 형식으로 변환.
#include <cpprest/json.h> // need for json
// Json 형식 {"op":"ping"} 만들기. 키-값 1개만 있는 초간단. 아래처럼 하면됨.
web::json::value obj = web::json::value::object();
obj[U("op")] = web::json::value::string(U("ping"));
std::wcout << obj.serialize() ;//시험출력결과 : {"op":"ping"}. 과거 obj.to_string() 함수는 폐기되었음.
Json 형식의 문자열을 Json value 형식으로 변환.
#include <cpprest/json.h>
// 입력 : Json 형식으로 기록된 문자열. std::string
// 반환 : web::json::value 형식.
web::json::value from_string(std::string const &input) {
utility::stringstream_t s;
std::wstring wstr;
wstr.assign(input.begin(), input.end()); // 입력 string -> wstring형변환.
s << wstr;
web::json::value ret = web::json::value::parse(s);// 입력받은 Json형식 문자열이 json::value 로 만들어짐.
return ret;
}
// 입력 : Json 형식으로 기록된 문자열. std::wstring
// 반환 : web::json::value 형식.
web::json::value from_string(std::wstring const &input) {
utility::stringstream_t s;
s << input;
web::json::value ret = web::json::value::parse(s);// 입력받은 Json형식 문자열이 json::value 로 만들어짐.
return ret;
}
Json 형식의 문자열에서 특정 키의 값 추출하기.
- 상황 : Json 형식의 문자열 { "ret_code": 0, "ret_msg": "OK", "ext_code": "", "ext_info": "" } 이 있고 이 문자열에서 특정키(예 : ret_msg ) 의 값을 추출하는것.
- 앞에서의 Json 문자열을 Json value 로 변환한 이후 value 에서 요소 추출하는것은 C++ REST SDK 에서 제공되긴 하므로 범용적인 활용에서는 사용해도 되나, 키의 값 1개 추출하려는 경우에는 문자열 찾기 자르기.. 등으로 직접 구현해도 됨.
- C++ REST SDK 에서는 이 기능의 함수 제공되지는 않으며 간단한 문자열 처리로 개발자가 어렵지 않게 구현가능하므로 SDK 에서는 별도로 만들어 제공하지는 않은것으로 보임.
- 구현코드 별도 정리 함.
첫 등록 : 2020.03.21
최종 수정 :
단축 주소 : https://igotit.tistory.com/2508
'VisualStudio.C++.C# > C . C++' 카테고리의 다른 글
C++. std::map . 키-값 컬렉션 (0) | 2020.04.01 |
---|---|
C/C++. 윈도우. 파일 저장, 읽기 . FILE . fopen, fprintf, fscanf (0) | 2020.03.29 |
C/C++. C 에서 C++ 함수 호출하기. extern "C" 선언. C++ 에서 C함수 호출. (0) | 2020.01.24 |
C. C++. 메모리 직접 접근 (0) | 2020.01.20 |
C/C++. & 와 * 메모리 접근 형변환 (0) | 2020.01.13 |
댓글