VC++ 读写JSON文件的代码
时间: 2023-08-08 13:09:23 浏览: 114
以下是使用VC++读写JSON文件的示例代码:
```c++
#include <fstream>
#include <iostream>
#include <string>
#include "json/json.h"
using namespace std;
int main()
{
// 创建JSON对象并添加键值对
Json::Value root;
root["name"] = "John";
root["age"] = 25;
root["isMarried"] = false;
// 将JSON对象写入文件
ofstream ofs("example.json");
Json::StreamWriterBuilder builder;
builder["indentation"] = "\t";
unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
writer->write(root, &ofs);
ofs.close();
cout << "JSON写入文件成功" << endl;
// 从文件中读取JSON对象
ifstream ifs("example.json");
Json::CharReaderBuilder readerBuilder;
Json::Value readRoot;
JSONCPP_STRING errs;
if (Json::parseFromStream(readerBuilder, ifs, &readRoot, &errs)) {
// 读取成功
string name = readRoot["name"].asString();
int age = readRoot["age"].asInt();
bool isMarried = readRoot["isMarried"].asBool();
cout << "name: " << name << endl;
cout << "age: " << age << endl;
cout << "isMarried: " << isMarried << endl;
} else {
// 读取失败
cout << "JSON读取失败:" << errs << endl;
}
ifs.close();
return 0;
}
```
在上面的示例代码中,我们使用了JsonCpp库来读写JSON文件。在写入JSON文件时,我们首先创建了一个Json::Value对象,并添加了一些键值对。然后,我们使用Json::StreamWriterBuilder和Json::StreamWriter类将JSON对象写入文件。在读取JSON文件时,我们首先打开文件并使用Json::CharReaderBuilder和Json::parseFromStream函数从文件中读取JSON对象。如果读取成功,我们可以使用Json::Value对象的asXXX()函数获取相应的值。如果读取失败,我们可以使用errs字符串获取错误信息。
阅读全文