大佬教程收集整理的这篇文章主要介绍了jsoncpp序列化与反序列化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
//my_json.h #include"comm.h" #include<iostream> #include<String> #include"json/json.h" usingnamespacestd; classmy_json { public: my_json(); ~my_json(); staticintserialize(Json::Value&in_val,String&out_str); staticintdeserialize(String&in_out,Json::Value&out_val); private: }; //my_json.cpp #include"my_json.h" my_json::my_json() {} intmy_json::serialize(Json::Value&in_val,String&out_str) { #ifdef_FAST_JSON_ Json::FastWriterwrite; out_str=write.write(in_val); #else Json::StyledWriterwrite; out_str=write.write(in_val); #endif return0; } intmy_json::deserialize(String&in_str,Json::Value&out_val) { Json::readerread; if(read.parse(in_str,out_val,falsE)) { //cout<<in_str<<endl; return0; } return-1; } my_json::~my_json() {} //udp_data.h #pragmaonce #include"comm.h" #include"my_json.h" #include<iostream> usingnamespacestd; classudp_data { public: udp_data(); voiddata_to_String(String&_in_name,String&_in_msg,String&_in_school,String_in_cmd,String&_out_str); voiddata_to_value(String&_out_name,String&_out_msg,String&_out_school,String&_out_cmd,String&_in_str); ~udp_data(); public: Stringnick_name; Stringmsg; Stringschool; Stringcmd; }; //udp_data.cpp #include"udp_data.h" udp_data::udp_data() {} voidudp_data::data_to_String(String&_in_name,String&_out_str) { nick_name=_in_name; msg=_in_msg; school=_in_school; cmd=_in_cmd; Json::Valueroot; root["nick_name"]=nick_name; root["msg"]=msg; root["school"]=school; root["cmd"]=cmd; my_json::serialize(root,_out_str); //cout<<_in_name<<endl; //cout<<_out_str<<endl; } voidudp_data::data_to_value(String&_out_name,String&_in_str) { Json::Valueroot; my_json::deserialize(_in_str,root); _out_name=root["nick_name"].asString(); //cout<<_out_name<<endl; _out_msg=root["msg"].asString(); //cout<<_out_msg<<endl; _out_school=root["school"].asString(); _out_cmd=root["cmd"].asString(); nick_name=_out_name; msg=_out_msg; school=_out_school; cmd=_out_cmd; //cout<<cmd; } udp_data::~udp_data() {} //intmain() //{ //udp_dataud; //String_name; ////cout<<"pleaseinputname:"; ////cin>>_name; //String_msg; ////cout<<"pleaseinputmsg:"; ////cin>>_msg; //String_school; ////cout<<"pleaseinputschool:"; ////cin>>_school; //String_cmd; ////cout<<"pleaseinputcmd:"; ////cin>>_cmd; //String_out="{\"cmd\":\"None\",\"msg\":\"Hello\",\"nick_name\":\"rz\",\"school\":\"xpu\"}"; ////_name="rz"; ////ud.data_to_String(_name,_msg,_school,_cmd,_out); ////_name=""; //ud.data_to_value(_name,_out); ////cout<<_out<<endl; //cout<<_name<<endl; //cout<<_msg<<endl; //cout<<_school<<endl; //cout<<_cmd<<endl; //return0; //} //Makefile ROOT_PATH=$(sHellpwd) INCLUDE=-I../lib/include LIB=#-L$(ROOT_PATH)/lib/lib .PHONY:all all:udp_data udp_data:udp_data.omy_json.o g++-o$@$^/home/xiaozhi/Linuxstudy/project_2/lib/lib/libjsoncpp.a udp_data.o:udp_data.cpp g++-c$<$(INCLUDE) my_json.o:my_json.cpp g++-c$<$(INCLUDE)-D_FAST_JSON_ .PHONY:clean clean: rm-fudp_datamy_json*.o
以上是大佬教程为你收集整理的jsoncpp序列化与反序列化全部内容,希望文章能够帮你解决jsoncpp序列化与反序列化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。