Похоже, я пишу свои объекты неправильно, но я просмотрел много примеров, и у меня все еще возникла та же проблема. Причина, по которой я делаю Staff + StaffID, заключается в том, чтобы я мог ссылаться на этот объект, если это имеет смысл. Сведения об объекте json зависят от того, что пользователь вводит
Я использую библиотеку nlohmann / json .hpp
staff = {"Staff " + staffID, {
{"First Name", first_name},
{"Last Name", last_name},
{"Age", age},
{"StaffID", staffID},
{"Phone", staff_phone},
{"Skill 1", skill_1},
{"Skill 2", skill_2},
{"Skill 3", skill_3}
} };
myFile << setw(4) << staff << endl;
myFile.close();
И результат в моем json файле, с верхней записью в порядке:
[
"Staff 1",
{
"Age": 44,
"First Name": "John",
"Last Name": "Smith",
"Phone": "97345345",
"Skill 1": "Dogs",
"Skill 2": "Vet",
"Skill 3": "Grooming",
"StaffID": "1"
}
]
[
"Staff 2",
{
"Age": 38,
"First Name": "Jane",
"Last Name": "Smith",
"Phone": "9835735",
"Skill 1": "Cats",
"Skill 2": "Surgery",
"Skill 3": "Grooming",
"StaffID": "2"
}
]
Обновлено: Подробнее Функция находится в классе, эта функция вызывается внутри пока l oop для меню, которое позволяет пользователю добавлять персонал, когда пользователь выбирает «Добавить персонал» функцию add_info_staff в классе.
class infoStaff
{
protected:
json staff;
char first_name[50];
char last_name[50];
int age;
string staffID;
string staff_phone;
string skill_1;
string skill_2;
string skill_3;
public:
void add_info_staff(void)
{
ofstream myFile("staff_j.json", ios::app);
cout << "Please enter the first name: " << endl;
cin >> first_name;
cout << "Please enter the last name: " << endl;
cin >> last_name;
cout << "Please enter the age: " << endl;
cin >> age;
cout << "Please enter the staff ID: " << endl;
cin >> staffID;
cout << "Please enter the staff's phone number: " << endl;
cin >> staff_phone;
cout << "Please enter skill 1 : " << endl;
cin >> skill_1;
cout << "Please enter skill 2 : " << endl;
cin >> skill_2;
cout << "Please enter skill 3 : " << endl;
cin >> skill_3;
staff = {"Staff " + staffID, {
{"First Name", first_name},
{"Last Name", last_name},
{"Age", age},
{"StaffID", staffID},
{"Phone", staff_phone},
{"Skill 1", skill_1},
{"Skill 2", skill_2},
{"Skill 3", skill_3}
} };
myFile << setw(4) << staff << endl;
myFile.close();
}
};