c++ vector<double> 与json串互转
时间: 2023-12-06 10:05:13 浏览: 38
可以使用第三方库rapidjson来实现c++ vector<double> 与json串之间的互转。
以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
using namespace rapidjson;
int main() {
// 创建一个vector<double>
std::vector<double> vec = {1.0, 2.0, 3.0, 4.0, 5.0};
// 将vector<double>转换为json串
StringBuffer s;
Writer<StringBuffer> writer(s);
writer.StartArray();
for (auto& element : vec) {
writer.Double(element);
}
writer.EndArray();
std::cout << s.GetString() << std::endl;
// 将json串转换为vector<double>
Document document;
document.Parse(s.GetString());
std::vector<double> new_vec;
for (auto& element : document.GetArray()) {
new_vec.push_back(element.GetDouble());
}
// 输出转换后的vector<double>
for (auto& element : new_vec) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
```
该示例代码中使用rapidjson将vector<double>转换为json串,并将json串转换为vector<double>。输出结果如下:
```
[1,2,3,4,5]
1 2 3 4 5
```
注意:在使用rapidjson之前,需要先下载并安装该库。