ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • jsoncpp 사용법 정리
    개발 이야기/개발 및 서비스 2018. 7. 5. 15:50
    반응형

    공식 사이트는 이 곳!!

    http://jsoncpp.sourceforge.net/ >> 현재는 github로 링크가 이동된다.


    최근 코드는 많이 달라져 있어서 최근 코드 사용에 대해서는 추후 다시 한번 정리할 예정이다.


    이번은 예전에 사용하던 코드를 활용하여 ( 파일 >>  invalid-file


    일단 설치는 그냥 압축을 풀어 프로젝트에 적용하면 끝!! (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::Value에 저장된 값을 텍스트 형태로 다시 변환하는 건 아래와 같이 가능핟. 

    Json::FastWriter fastWriter;
    std::string output = fastWriter.write(root);


    최근 업데이트된 코드를 보고 내용을 첨부할 예정. (예정... 예... 정... 예................. 정.............................)




    반응형

    TAG

    댓글 3

Designed by Tistory.