#include "json/json.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
// Json字符串组装
Json::Value inputValue;
inputValue["language"] = "0";
inputValue["service"] = "GET_RAW_INFO";
inputValue["barcode"] = "123456789"; // 单板条码
inputValue["barcodeType"] = "PCBA_BARCODE"; // 单板条码类型
inputValue["rawLotType"] = "TP/LCD"; // 物料类型
inputValue["standardParam"] = "Y"; // 是否需要返回rawstandardList
// 写入Json
std::ostringstream os;
Json::StreamWriter* writer = Json::StreamWriterBuilder().newStreamWriter();
if (writer == NULL) {
return -1;
}
writer->write(inputValue, &os);
string requestJson = os.str();
cout << requestJson << endl;
ofstream ofs;
ofs.open("2.json");
if (!ofs.is_open())
{
cout << "open file error!" << endl;
return -1;
}
ofs << requestJson << "\r\n";
ofs.close();
// 读取Json
ifstream ifs;
ifs.open("1.json");
if (!ifs.is_open())
{
cout << "open file error!" << endl;
return -1;
}
int BUFFER_SIZE = 5 * 1024;
char* szRead = new char[BUFFER_SIZE];
memset(szRead, 0, BUFFER_SIZE);
ifs.read(szRead, BUFFER_SIZE);
Json::CharReader* reader = Json::CharReaderBuilder().newCharReader();
Json::Value root;
Json::String strErr = "";
if (!reader->parse(szRead, szRead+ strlen(szRead), &root, &strErr))
{
delete[] szRead;
return -1;
}
delete[] szRead;
std::string name = root["RemoteCfgSavePath"].asString();
int age = root["CycleTime"].asInt();
std::cout << name << std::endl;
std::cout << age << std::endl;
getchar();
return true;
}