Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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,请注明来意。