package.json配置文件:
代码实现读package.json配置文件:
#include<vector>
#include <iostream>
#include <fstream>
#include <string>
#include <nlohmann/json.hpp>
using namespace std;
using namespace nlohmann;
int main()
{
// 以二进制形式读取json文件内容
std::ifstream i("package.json");
cout << "na5555555555:" << endl;
json reader;
i>>reader;
string strName;
int nRole;
string strOccupation;
string test;
string start;
string react;
string native;
string babel;
string jest;
string metro;
string Renderer;
string preset;
try
{
//strOccupation = reader["strOccupation"].get<std::string>();
strName = reader["name"].get<std::string>();
nRole = reader["role_id"].get<int>();
strOccupation = reader["occupation"].get<std::string>();
test = reader["scripts"]["test"].get<std::string>();
start = reader["scripts"]["start"].get<std::string>();
react = reader["dependencies"]["react"].get<std::string>();
native = reader["dependencies"]["react-native"].get<std::string>();
babel = reader["devDependencies"]["babel-jest"].get<std::string>();
jest = reader["devDependencies"]["jest"].get<std::string>();
metro= reader["devDependencies"]["metro-react-native-babel-preset"].get<std::string>();
Renderer = reader["devDependencies"]["react-test-renderer"].get<std::string>();
preset = reader["jest"]["preset"].get<std::string>();
}
catch(json::exception& e)
{
std::cout << "inside-error" << endl;
exit(EXIT_FAILURE);
}
cout << "role_id is: " << nRole << endl;
cout << "occupation is: " << strOccupation << endl;
cout << "name is: " << strName << endl;
cout << "scripts test is: " << test << endl;
cout << "scripts start is: " << start << endl;
cout << "dependencies react is: " << react << endl;
cout << "dependencies react-native is: " << native << endl;
cout << "devDependencies babel-jest is: " << babel << endl;
cout << "devDependencies jest is: " << jest << endl;
cout << "devDependencies metro-react-native-babel-preset: " << metro << endl;
cout << "devDependencies react-test-renderer is: " << Renderer << endl;
cout << "jest preset is: " << preset << endl;
i.close();
return 0;
}