将std::vector中的数据用json_object_new_string转换为JSON格式数据
时间: 2024-02-24 20:54:10 浏览: 143
`json_object_new_string`是C语言中libjson-c库中的一个函数,它用于将一个字符串转换为JSON格式数据。如果要将std::vector中的数据转换为JSON格式数据,需要先将其转换为字符串,然后再使用`json_object_new_string`函数将其转换为JSON格式数据。以下是一个示例代码:
```c++
#include <vector>
#include <iostream>
#include <json-c/json.h>
int main() {
std::vector<std::string> v = {"hello", "world", "json"};
// 创建JSON格式数据
json_object *j = json_object_new_array();
for (auto& s : v) {
json_object_array_add(j, json_object_new_string(s.c_str()));
}
// 输出JSON格式数据
std::cout << json_object_to_json_string(j) << std::endl;
// 释放资源
json_object_put(j);
return 0;
}
```
在上述代码中,我们首先使用`json_object_new_array`函数创建了一个JSON数组对象j,然后遍历vector中的每个元素,将其转换为C风格的字符串,并使用`json_object_new_string`函数将其转换为JSON字符串对象,再将其添加到j数组对象中。最后,我们使用`json_object_to_json_string`函数将j数组对象转换为字符串,并将其输出到控制台。注意,我们需要在程序结束前调用`json_object_put`函数来释放j数组对象的资源。
阅读全文