jsoncpp 사용법 정리
공식 사이트는 이 곳!!
http://jsoncpp.sourceforge.net/ >> 현재는 github로 링크가 이동된다.
최근 코드는 많이 달라져 있어서 최근 코드 사용에 대해서는 추후 다시 한번 정리할 예정이다.
이번은 예전에 사용하던 코드를 활용하여 ( 파일 >> jsoncpp.zip
일단 설치는 그냥 압축을 풀어 프로젝트에 적용하면 끝!! (h와 cpp 파일 각 하나씩만 존재한다.)
사용법은 아래와 같다.
- 읽기
json 파일의 내용을 어딘가에서 읽어왔다면 Json::Reader를 사용하여 파싱하여야 한다.
std::string data; << --- 이곳에 json 데이터가 있다고 가정하면..
Json::Reader reader;
Json::Value root;
reader.parse(data, root); <<-- data를 넣어주면 root 에 파싱된 json 정보를 넣어준다.
const Json::Value &name = root["name"]; << -- name이라는 키를 활용해서 정보를 가져오고..
std::string yourName= name.asString(); << --- as... 로 데이터를 캐스팅해서 가져온다.
- 쓰기
새롭게 정보를 쓸 때는 Json::Value 에 기록할 수 있다.
Json::Value root;
root["name"] = "Poppy"; << -- name이라는 키와 "Poppy"라는 값을 삽입하는 예
root["array sample"] = Json::Value(Json::arrayValue); << -- "array sample"이라는 배열을 삽입하는
root["array sample"].append( "array 1"); <<-- 위처럼 정의해주지 않아도 append 하면 바로 배열로 저장됨. 어쨌든 값을 배열로 저장하는 과정.
root["array sample"].append( "array 2");
Json::FastWriter fastWriter;std::string output = fastWriter.write(root);
최근 업데이트된 코드를 보고 내용을 첨부할 예정. (예정... 예... 정... 예................. 정.............................)