__declspec(dllexport) Rootobject __stdcall RefRootobjectValues(char*path)
{
ifstream t(path);
Rootobject Root;string str((istreambuf_iterator(t)), istreambuf_iterator());
CJsonObject Objson=CJsonObject(str);stringstrsss;
Objson.Get("gridStartTime", strsss);
Root.gridStartTime=ReturnCharArr(strsss);
Objson.Get("gridEndTime", strsss);
Root.gridEndTime=ReturnCharArr(strsss);
Objson.Get("resultStartTime", strsss);
Root.resultStartTime=ReturnCharArr(strsss);
Objson.Get("resultEndTime", strsss);
Root.resultEndTime=ReturnCharArr(strsss);
Objson.Get("WindSpeedBorder", strsss);
Root.WindSpeedBorder=ReturnCharArr(strsss);
Objson.Get("WindDirectBorder", strsss);
Root.WindDirectBorder=ReturnCharArr(strsss);
Objson.Get("resultWindDirectGrid", strsss);
Root.resultWindDirectGrid=ReturnCharArr(strsss);int nums = Objson["WindDirectLine"]["coordinates"].GetArraySize();
Root.WindDirectLine.coordinates= (struct Coordinate *)malloc(nums * sizeof(structCoordinate));/*Coordinate* coor=new Coordinate [nums];*/
/*由于School_T中定义的student是一个结构体指针,必须要对其进行分配内存*/
//Root.WindDirectLine->coordinates = (coordinates *)malloc(sizeof(Student_T));
for (int i = 0; i < nums; i++)
{int mWindDirectBaseLine_Length = Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBaseLine"].GetArraySize();
Root.WindDirectLine.coordinates[i].mWindDirectBaseLine= (struct Mwinddirectbaseline *)malloc(nums * sizeof(structMwinddirectbaseline));for (int j = 0; j < mWindDirectBaseLine_Length; j++)
{stringStr1;
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBaseLine"][j].Get("p", Str1);
Root.WindDirectLine.coordinates[i].mWindDirectBaseLine[j].p=ReturnCharArr(Str1);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBaseLine"][j].Get("i", Root.WindDirectLine.coordinates[i].mWindDirectBaseLine[j].i);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBaseLine"][j].Get("s", Root.WindDirectLine.coordinates[i].mWindDirectBaseLine[j].s);
Root.WindDirectLine.coordinates[i].mWindDirectBaseLine++;
}int mWindDirectBars_Length = Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"].GetArraySize();
Root.WindDirectLine.coordinates[i].mWindDirectBars= (struct Mwinddirectbar *)malloc(nums * sizeof(structMwinddirectbar));for (int k = 0; k < mWindDirectBars_Length; k++)
{stringStr2;
F f;
H h;
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["f"].Get("p", Str2);
f.p=ReturnCharArr(Str2);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["f"].Get("s", f.s);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["f"].Get("i", f.i);
Str2= "";
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["h"].Get("p", Str2);
h.p=ReturnCharArr(Str2);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["h"].Get("s", h.s);
Objson["WindDirectLine"]["coordinates"][i]["mWindDirectBars"][k]["h"].Get("i", h.i);
Root.WindDirectLine.coordinates[i].mWindDirectBars[k].f=f;
Root.WindDirectLine.coordinates[i].mWindDirectBars[k].h=h;
Root.WindDirectLine.coordinates[i].mWindDirectBars++;
}
Root.WindDirectLine.coordinates++;
}returnRoot;//strs->WindDirectLine.coordinates = coor;//strs->WindDirectLine->coordinates = coor;//strs->gridMethod = 50;
}