MFC 에서 JSONCPP 의 사용 C+JSON 해석
JSON 의 전 칭:JavaScript Object Notation,말 그대로 JSON 은 javascript 대상 을 표시 하 는 데 사 용 됩 니 다.자세 한 내용 은 참고 하 십시오.http://www.json.org/。
본 고 는 제3자 라 이브 러 리 인 JSonCpp 를 선택 하여 json 을 분석 하고 자 한다.JSonCpp 는 비교적 유명한 c++분석 라 이브 러 리 로 json 홈 페이지 에서 도 첫 번 째 로 추천 된다.
JSonCpp 소개
JSonCpp 는 주로 세 가지 유형의 class:Value Reader Writer 를 포함 합 니 다.
jsoncpp 의 모든 대상,클래스 이름 은 namespace json 에 있 으 며,json.h 를 포함 하면 됩 니 다.
메모:JSon:Value 는 ANSI 형식의 문자열 만 처리 할 수 있 습 니 다.C++프로그램 이 유 니 코드 인 코딩 을 사용한다 면 Adapt 클래스 를 추가 하 는 것 이 좋 습 니 다.
다운로드 및 컴 파일
다운로드 주소:http://sourceforge.net/projects/jsoncpp/
압축 을 풀 고 jsoncpp-src-0.5.0 폴 더 를 얻 으 려 면 jsoncpp 의 헤더 파일 과 cpp 파일 만 필요 합 니 다.그 중에서 jsonscpp 의 헤더 파일 은 jsoncpp-src-0.5.0/include/json/에 있 고 jsoncpp 의 cpp 파일 은 jsoncpp-src-0.5.0/src/lib 에 있 습 니 다.json/。
본인 c++처음에 사용 하기 시 작 했 기 때문에 머리 파일 과 cpp 파일 을 모두 프로젝트 에 넣 었 습 니 다.
단계:
1.include/json/와 src/lib/의.h 와.cpp 파일 을 각각 프로젝트 에 추가 하고 다른 것 은 가입 하지 않 아 도 됩 니 다.
2.생 성 공정
일부 오 류 를 보고 할 수 있 습 니 다.솔 루 션 1,include 의 경 로 를 조정 합 니 다.2.3 개의.cpp 헤더 파일 에 가입 합 니 다.\#include"Stdafx.h";그리고 프로젝트 를 만 들 면 틀 리 지 않 습 니 다.
3.json.h 헤더 파일 을 직접 포함 하고 싶 으 면 됩 니 다.
인터넷 에서 본 jsoncpp 의 용법 을 간단히 말씀 드 리 겠 습 니 다.
역 직렬 화 JSon 대상
{
"name": "json″,
"array": [
{
"cpp": "jsoncpp"
},
{
"java": "jsoninjava"
},
{
"php": "support"
}
]
}
우 리 는 이 json 의 반 시리 얼 코드 를 다음 과 같이 실현 해 야 한다.
voidreadJson() {
usingnamespacestd;
std::stringstrValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";
Json::Reader reader;
Json::Value value;
if(reader.parse(strValue, value))
{
std::stringout= value["name"].asString();
std::cout <
constJson::Value arrayObj = value["array"];
for(unsigned inti = 0;i
{
if(!arrayObj[i].isMember("cpp"))
continue;
out= arrayObj[i]["cpp"].asString();
std::cout <
if(i != (arrayObj.size() - 1))
std::cout <<:endl/>
}
}
}
서열 화 JSon 대상
voidwriteJson() {
usingnamespacestd;
Json::Value root;
Json::Value arrayObj;
Json::Value item;
item["cpp"] = "jsoncpp";
item["java"] = "jsoninjava";
item["php"] = "support";
arrayObj.append(item);
root["name"] = "json";
root["array"] = arrayObj;
root.toStyledString();
std::stringout= root.toStyledString();
std::cout <
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdu 1717 소수 화 점수 2 (수학)소수 화 점수 2 레이 는 수학 시간 에 선생님 의 말씀 을 듣 고 모든 소수 가 점수 로 표시 되 는 형식 이 라 고 말 했다. 그 는 녹 기 시 작 했 고 곧 완성 되 었 다. 그러나 그 는 또 하나의 문 제 를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.