欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c++讀寫json

方一強2年前8瀏覽0評論

在開發過程中,我們會遇到需要讀寫json數據的情況。C++作為一門強類型的語言,提供了比較完善的json讀寫庫,我們可以方便地通過json的鍵值對來獲取數據,也可以將數據轉換成json格式存儲。

以下是一個讀取json文件的示例代碼:

#include <iostream>
#include <fstream>
#include <json/json.h>
using namespace std;
int main()
{
ifstream ifs("test.json");
Json::Reader reader;
Json::Value root;
if(!reader.parse(ifs, root)) {
cout << "parse error" << endl;
return -1;
}
string name = root["name"].asString();
int age = root["age"].asInt();
double score = root["score"].asDouble();
cout << name << endl;
cout << age << endl;
cout << score << endl;
return 0;
}

在這段代碼中,我們使用了C++的fstream庫來打開一個json文件,然后通過Json::Reader來解析json數據,并將解析結果存儲在Json::Value對象中。通過Json::Value對象我們可以方便地獲取數據,因為該對象提供了asInt、asDouble、asString等函數,可以根據json數據類型來獲取對應的值。

如果我們需要寫入json數據,可以使用Json::Value對象來創建需要的數據結構,然后將其轉換成json字符串,最后寫入到文件中。以下是一個將數據寫入json文件的示例代碼:

#include <iostream>
#include <fstream>
#include <json/json.h>
using namespace std;
int main()
{
Json::Value root;
root["name"] = "張三";
root["age"] = 18;
root["score"] = 95.5;
cout << root.toStyledString() << endl;
ofstream ofs("test.json");
ofs << root.toStyledString();
ofs.close();
return 0;
}

在這段代碼中,我們首先創建了一個Json::Value對象,并添加了三個鍵值對。然后將該對象轉換成json字符串,并將其寫入到文件中。

通過這些示例代碼,我們可以看到C++讀寫json數據非常方便,只需要使用jsoncpp庫,并根據需要使用Json::Reader和Json::Value對象來實現。