C++将std:vector中的16进制的数据通过json_object_new_string转换为JSON格式
时间: 2024-03-09 16:45:50
浏览: 177
在C++中,我们可以使用第三方库,如jsoncpp或者rapidjson来操作JSON。下面是一个使用jsoncpp库将std::vector中的16进制数据转换为JSON字符串的示例代码:
```c++
#include <iostream>
#include <vector>
#include <sstream>
#include <iomanip>
#include <json/json.h>
int main() {
std::vector<uint8_t> data = {0x12, 0x34, 0x56, 0x78};
Json::Value root(Json::arrayValue); // 创建JSON数组对象
for (auto byte : data) {
std::stringstream ss;
ss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(byte);
std::string hex_str = ss.str();
root.append(Json::Value(hex_str)); // 将16进制字符串添加到JSON数组中
std::string json_str = Json::FastWriter().write(root); // 将JSON数组对象转换为字符串
std::cout << json_str << std::endl;
return 0;
```