C++是一種高級編程語言,廣泛應用于軟件開發、游戲開發、嵌入式系統等領域。在C++編程中,我們經常需要從文件中讀取數據,尤其是一些配置參數、用戶數據等,這時候我們可以使用Json格式來存儲這些數據,方便解析和讀取。下面我們就來看看如何在C++程序中從文件中讀取Json數據。
#include#include #include // 需要安裝Json-cpp庫 using namespace std; using namespace Json; int main() { // 從文件中讀取Json數據 ifstream ifs("config.json"); Reader reader; Value root; if (!reader.parse(ifs, root)) { cerr<< "Error: "<< reader.getFormattedErrorMessages()<< endl; return -1; } // 解析Json數據 string name = root["name"].asString(); int age = root["age"].asInt(); bool married = root["married"].asBool(); Value hobbies = root["hobbies"]; vector h; for (int i = 0; i< hobbies.size(); i++) { h.push_back(hobbies[i].asString()); } // 輸出解析結果 cout<< "Name: "<< name<< endl; cout<< "Age: "<< age<< endl; cout<< "Married: "<< (married ? "Yes" : "No")<< endl; cout<< "Hobbies: "; for (string hobby : h) { cout<< hobby<< " "; } cout<< endl; return 0; }
在上面的代碼中,我們首先使用ifstream從文件中讀取Json數據,然后使用Json-cpp庫中的Reader類來解析Json數據,將解析結果存儲在Value對象中。然后我們按照Json數據的格式以及類型來獲取相應的數據,比如上面的例子中,我們獲取了name字段的字符串、age字段的整數、married字段的布爾值、hobbies字段的數組。最后我們將解析結果輸出到控制臺上。
總的來說,從文件中讀取Json數據在C++編程中非常常見,也是一種非常便捷的數據存儲方式。我們只需要使用合適的Json庫來解析就可以輕松地讀取和使用Json數據了。
下一篇c11解析json