rapidjson 은 json 코드 인 스 턴 스 와 흔히 볼 수 있 는 json core dump 문 제 를 분석 합 니 다.
1835 단어 c++rapidjson해석 하 다.json 코드
코드 직접 보기:
#include <iostream>
#include <stdio.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<sstream>
// rapidjson
#include "rapidjson/prettywriter.h"
#include "rapidjson/rapidjson.h"
#include "rapidjson/document.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "rapidjson/memorystream.h"
using namespace std;
using rapidjson::Document;
using rapidjson::StringBuffer;
using rapidjson::Writer;
using namespace rapidjson;
string getStringFromJson(const string &jsStr, const string &strKey)
{
Document document;
if (document.Parse(jsStr.c_str()).HasParseError() || !document.HasMember(strKey.c_str()))
{
return "";
}
const rapidjson::Value &jv = document[strKey.c_str()];
return jv.GetString();
}
int main(int argc, char *argv[])
{
string s = "{\"code\":0,\"msg\":\"ok\"}";
cout << s << endl;
cout << getStringFromJson(s, "msg") << endl;
return 0;
}
결과:{"code":0,"msg":"ok"}
ok
주의:
1.판단 을 하지 않 으 면 코어 덤 프 가 쉽다
2.판단 을 하지 않 으 면 코어 덤 프 가 쉽다
3.code 는 0 이 고 정수 입 니 다.상기 getString FromJSon 을 호출 하면 core dump 를 사용 합 니 다
document.Parse(jsStr.c_str()).HasParseError()
.OK,긴 말 안 할 게 요.인생 은 짧 아 요.rapidjson 사랑 합 니 다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.