我正在使用nlohmann的json库来处理c中的json对象.最后,我想从文件中读取一个json对象,例如像这样的简单对象.
{ "happy": true,"pi": 3.141 }
我不太清楚如何处理这个问题.在https://github.com/nlohmann,有几种方法可以从字符串文字中反序列化,但是将它扩展为读入文件似乎并不容易.有任何人对此有经验吗?
解决方法
更新2017-07-03 for
JSON for Modern C++ version 3
从版本3.0开始,不推荐使用json :: json(std :: ifstream&).一个人应该使用json::parse()
代替:
std::ifstream ifs("{\"json\": true}"); json j = json::parse(ifs);
现代C版2的JSON更新
从版本2.0,json::operator>>() id deprecated
开始.应该使用json :: json()代替:
std::ifstream ifs("{\"json\": true}"); json j(ifs);
现代C版1的JSON的原始答案
使用json :: operator>>(std :: istream&):
json j; std::ifstream ifs("{\"json\": true}"); ifs >> j;