一、引入头文件及域名空间
#include "json.hpp"
using namespace nlohmann;
二、加载json文件进代码
fstream infiles("test.json", ios::in | ios::binary);
infiles.seekp(SEEK_SET, SEEK_END);
int ln = (int)infiles.tellp();
infiles.seekp(SEEK_SET, SEEK_SET);
char* buf = new char[ln + 1];
memset(buf, 0, ln + 1);
infiles.read(buf, ln);
try
{
json jArrayRECORDS = json::parse(buf);
delete[] buf;
infiles.close();
infiles.clear();
}
catch (nlohmann::json::parse_error& e)
{
std::cerr << "解析错误: " << e.what() << std::endl;
}
三、json类的使用
if (jArrayRECORDS.is_array())
{
for (auto jdata : jArrayRECORDS)
{
if (!jdata["Name"].is_null())
{
if(jdata["Name"].is_number_float())
{
float f = jdata["Name"];
}
if(jdata["Name"].is_number_integer())
{
int i = jdata["Name"];
}
if (jdata["Name"].is_string())
{
string strName = jdata["Name"];
}
}
}
}
下载链接: