Nlohmannのjsonライブラリを使用して、c ++でjsonオブジェクトを操作しています。最終的に、ファイルからjsonオブジェクトを読み取りたいと思います。このような単純なオブジェクト。
{
"happy": true,
"pi": 3.141
}
これにどのように取り組むか私にはよくわかりません。 https://github.com/nlohmann では、文字列リテラルから逆シリアル化するいくつかの方法が提供されていますが、これを拡張してファイルを読み取ることは簡単ではないようです。誰もがこれを経験していますか?
バージョン3.0以降、json::json(std::ifstream&)
は非推奨になりました。代わりに json::parse()
を使用する必要があります:
_std::ifstream ifs("test.json");
json jf = json::parse(ifs);
std::string str(R"({"json": "beta"})");
json js = json::parse(str);
_
Nlohmannのjsonライブラリの使用方法に関するより基本的な情報については、 nlohmann FAQ を参照してください。
バージョン2.0以降、 json::operator>>() id deprecated
です。代わりにjson::json()
を使用する必要があります:
_std::ifstream ifs("{\"json\": true}");
json j(ifs);
_
json::operator>>(std::istream&)
を使用:
_json j;
std::ifstream ifs("{\"json\": true}");
ifs >> j;
_
コンストラクタjson j(ifs)
は非推奨であり、バージョン3.0.0で削除されます。バージョン2.0.3以降、次のように記述します。
std::ifstream ifs("test.json");
json j = json::parse(ifs);