1、概述
- 自定义结构
- XML
- JSON
- Protocol Buffers
2、自定义结构-简单
// 定义一个表示学生的结构体
struct Student {
string name;
int age;
float gpa;
};
3、自定义结构-复杂
#include <iostream>
#include <string>
#include <vector>
// 定义学生结构体
struct Student {
std::string name;
int age;
float gpa;
};
// 定义课程结构体
struct Course {
std::string courseName;
std::string instructor;
std::vector<Student> students;
};
// 定义大学结构体
struct University {
std::string name;
std::vector<Student> students;
std::vector<Course> courses;
};
4、XML-简单
<Student ID="123">
<Name>Alice</Name>
<Age>20</Age>
<GPA>3.8</GPA>
</Student>
5、XML-复杂
<University>
<Name>ABC University</Name>
<Students>
<Student>
<Name>Alice</Name>
<Age>20</Age>
<GPA>3.8</GPA>
</Student>
<Student>
<Name>Bob</Name>
<Age>19</Age>
<GPA>3.5</GPA>
</Student>
</Students>
<Courses>
<Course>
<CourseName>Math</CourseName>
<Instructor>Dr. Smith</Instructor>
</Course>
<Course>
<CourseName>Physics</CourseName>
<Instructor>Dr. Johnson</Instructor>
</Course>
</Courses>
</University>
6、JSON-简单
{
"name": "Alice",
"age": 20,
"gpa": 3.8
}
7、JSON-复杂
{
"University": {
"Name": "ABC University",
"Students": [
{
"Name": "Alice",
"Age": 20,
"GPA": 3.8
},
{
"Name": "Bob",
"Age": 19,
"GPA": 3.5
}
],
"Courses": [
{
"CourseName": "Math",
"Instructor": "Dr. Smith"
},
{
"CourseName": "Physics",
"Instructor": "Dr. Johnson"
}
]
}
}
8、Protocol Buffers-简单
syntax = "proto3";
message Student {
string name = 1;
int32 age = 2;
float gpa = 3;
}
9、Protocol Buffers-复杂
syntax = "proto3";
message Student {
string name = 1;
int32 age = 2;
gpa = 3;
}
message Course {
string course_name = 1;
string instructor = 2;
repeated Student students = 3;
}
message University {
string name = 1;
repeated Student students = 2;
repeated Course courses = 3;
}