boost ptree 是 C++ 的一種開源的數據結構庫,用于在 C++ 中解析、操作和生成 JSON 文件。其中,ptree::write_json() 函數用于將 ptree 對象轉換為 JSON 格式的文本,并輸出到指定文件或字符串流中。
下面是使用 ptree::write_json() 函數將 ptree 對象轉換為 JSON 格式,并輸出到文件流中的示例代碼:
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> #include <iostream> #include <fstream> using namespace boost::property_tree; int main() { ptree pt; pt.put("name", "張三"); pt.put("age", 20); pt.put("address.country", "中國"); pt.put("address.province", "廣東省"); pt.put("address.city", "深圳市"); std::ofstream ofs("data.json"); write_json(ofs, pt); ofs.close(); return 0; }
運行程序后,會在當前目錄下生成一個名為 data.json 的文件,其內容如下所示:
{ "address": { "city": "深圳市", "country": "中國", "province": "廣東省" }, "age": 20, "name": "張三" }
可以看出,ptree::write_json() 函數將 ptree 對象轉換為 JSON 格式的文本,并以鍵值對的形式輸出。同時,它支持將 JSON 文本輸出到文件流、字符串流等不同的輸出流類型中。