c++ - 使用 jsoncpp 读取 JSON 文件
问题描述
我正在尝试使用 JSON 文件中列表中的整数值,但我似乎在解析文件时遇到了问题。
我尝试更改“Reader reader;”行 到“CharReader reader;”,但这不适用于解析函数。
#include <fstream>
#include "json\json.h"
using namespace std;
using namespace Json;
int main()
{
ifstream f("settings.json");
Reader reader; // line 11
Value settings;
f >> settings;
reader.parse(f, settings); // line 14
Value rxv = settings["res"][0u];
Value ryv = settings["res"][1u];
int screenres_x = rxv.asInt();
int screenres_y = ryv.asInt();
JSON的内容:
{
"res": [1024, 768],
"windowed": true,
"fpscap": true
}
我希望设置值包含 JSON 文件的内容,但我收到以下错误:
"'Json::Reader': Use CharReader and CharReaderBuilder instead." on line 11
"'Json::Reader::__autoclassinit2': Use CharReader and CharReaderBuilder instead." on line 11
"'Json::Reader::Reader': Use CharReader and CharReaderBuilder instead." on line 11
"'Json::Reader::parse': Use CharReader and CharReaderBuilder instead." on line 14
解决方案
Visual Studio 抛出错误C4996,这意味着Json::Reader
显然不推荐使用 。
不过,您可以只使用重载>>
运算符:
#include <fstream>
#include "json\json.h"
using namespace std;
using namespace Json;
int main()
{
ifstream f("settings.json");
Value settings;
f >> settings;
// Do something with settings
}
推荐阅读
- hyperledger-fabric - 将 composer 网络部署到频道时遇到 npm 问题
- python - 在输出层删除一些神经元(Keras)
- azure-active-directory - Azure AD B2C 登录自定义策略记住用户
- node.js - 将持续返回数据的 API
- excel-2010 - EXCEL VLOOKUP/匹配/变量
- python - CuDNN 版本不匹配
- python - 如何获取在 Python 中的“with 语句”下分配的范围内的所有变量?
- google-chrome - 将 Chromecast 方向从浏览器更改为监视器
- c# - 如何使用 Automapper 展平实体层次结构列表?
- python - 尽管有输入,两个 If 语句只给出一个结果