JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。在C++中,有許多第三方庫可以用來解析JSON,其中比較常用的是C++ JSON庫,也稱為C++ class json。
C++ class json的特點之一是它的易用性。它提供了一個類(json::value),可以用來表示任意JSON數據,以及一組重載運算符和訪問器,以方便地操作JSON數據。以下是一個簡單的示例程序,演示如何使用json::value來讀取和寫入JSON:
#include <iostream> #include <json/json.h> int main() { // 讀取JSON std::string json_str = "{\"name\":\"Alice\",\"age\": 18}"; Json::Value root; Json::Reader reader; if (!reader.parse(json_str, root)) { std::cout<< "parse json fail!"<< std::endl; return -1; } std::string name = root["name"].asString(); int age = root["age"].asInt(); std::cout<< "name: "<< name<< ", age: "<< age<< std::endl; // 寫入JSON Json::Value root2; root2["name"] = "Bob"; root2["age"] = 20; root2["height"] = 1.8; std::string json_str2 = root2.toStyledString(); std::cout<< "json_str2: "<< json_str2<< std::endl; return 0; }
在上面的程序中,我們首先定義了一個JSON字符串,然后用json::value類的parse方法將其轉化為一個json::value對象。然后我們通過json::value對象中的訪問器,獲取了它的兩個字段值,并輸出到控制臺。接著我們又定義了一個新的json::value對象,設置了三個屬性,然后用toStyledString方法將它轉化為一個JSON字符串并輸出。
總的來說,C++ class json提供了一種簡單而高效的方式來處理JSON數據。它非常容易使用,并且能夠處理各種復雜的JSON格式,讓開發人員可以更加專注于業務邏輯的實現,而不是糾結于JSON的處理。
上一篇python 截屏 保存
下一篇go語言處理json文件