最近做项目有个环节是生成一个json串作为请求,json串的大概格式如下:
{
"id":"000001",
"name":"Tom",
"urls": {
"success_url":"http://www.success_url.com",
"cannel_url":"http://www.cannel_url.com"
},
"info": {
"desc":"description",
"date":"2017-07-16",
"price":{
"amount":8.8,
"currency":"CNY"
}
}
}
考虑到这样的json串进行硬编码会很繁琐,而且可读性差,所以打算使用rapidjson这个开源的库来构建我的json串。
先是参考了这篇博文http://blog.csdn.net/a2651257380/article/details/50536660,知道了大概的构建过程,但是发现有个问题,就是我的json数据是从一个const map
中获取的,所以value是const string
类型,但是rapidjson中没有AddMember
函数中能适配const string
类型,然后我尝试了使用string::c_str()
来将string
转化为指针,也是不行,但是字符串常量却可以,这让我很不解,因为我去翻阅文档,发