要将 JSON 转换为 YAML,你可以使用 yaml-cpp 库。下面是一个简单的示例代码:
#include <iostream>
#include <fstream>
#include <yaml-cpp/yaml.h>
#include <json/json.h>
int main() {
// 读取 JSON 文件
std::ifstream jsonFile("input.json");
Json::Value jsonData;
jsonFile >> jsonData;
// 创建 YAML 文档节点
YAML::Node yamlData;
// 将 JSON 数据转换为 YAML 格式
std::string jsonString = jsonData.toStyledString();
try {
yamlData = YAML::Load(jsonString);
} catch (const YAML::ParserException& e) {
std::cerr << "Failed to parse JSON: " << e.what() << std::endl;
return 1;
}
// 将 YAML 写入文件
std::ofstream yamlFile("output.yaml");
yamlFile << yamlData << std::endl;
std::cout << "Conversion complete." << std::endl;
return 0;
}
以上示例中,我们首先使用 Json::Value 对象来读取和解析输入的 JSON 文件。然后,将其转换为字符串格式,并使用 YAML::Load 函数将其加载为 YAML 的 YAML::Node 对象。最后,我们将该对象写入输出的 YAML 文件。
请确保已经正确安装了 yaml-cpp 和 jsoncpp 库,并在编译时链接这些库。此外,请根据实际情况修改文件路径和名称。
希望这能帮助到你!
内容由零声教学AI助手提供,问题来源于学员提问




