rapidjson 은 json 코드 인 스 턴 스 와 흔히 볼 수 있 는 json core dump 문 제 를 분석 합 니 다.

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 사랑 합 니 다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

좋은 웹페이지 즐겨찾기