References
สารบัญ
array_add
void array_add(D *doc, const char *keyname, T data, size_t size)
- เพื่มข้อมูลแบบ array เข้าไปใน DynamicJsonDocument
- ข้อมูลที่เพิ่มจะอยู่ในรูปแบบ JSON ภาายใต้ key ที่กำหนด
| Parameter |
Description |
| doc |
ตัวแปรเป้าหมายที่ใช้เก็บข้อมูล เป็นตัวแปรแบบ DynamicJsonDocument |
| keyname |
ชื่อของ key ในการเก็บข้อมูลแบบ JSON |
| data |
ข้อมูลแบบ array ที่ต้องการเพิ่มเข้าไป |
| size |
ขนาดของ array ที่ต้องการเพิ่ม คำนวณได้จาก size(data)/size(data[0]) |
int i[] = {1, 2, 3, 4};
array_add(&maindoc, "single_arr", i, sizeof(i) / sizeof(i[0]));
{
"single_arr": [
1,
2,
3,
4,
123
]
}
object_add
void object_add(H *host, D *data, const char *keyname, size_t keysize, char **key)
- เพิ่ม object ลงในตัวแปรแบบ DynamicJsonDocument
- ข้อมูลจะอยู่ในรูปแบบ JSON มี key ตาม keyname ที่กำหนด
| Parameter |
Description |
| host |
ตัวแปรเป้าหมายที่ใช้เก็บข้อมูล เป็นตัวแปรแบบ DynamicJsonDocument |
| data |
ข้อมูลแบบ array ที่ต้องการเพิ่มเข้าไป โดยต้องเรียงลำดับให้ตรงกับชื่อของ key ใน object |
| keyname |
ชื่อของ key ในการเก็บข้อมูลแบบ JSON |
| size |
ขนาดของ array ที่ต้องการเพิ่ม คำนวณได้จาก size(data)/size(data[0]) |
| key |
char array ที่จะแทนชื่อของ key ใน object |
int i[] = {1, 2, 3, 4};
auto tchar = new char *[10] { "value1", "value2", "value3", "value4" };
object_add(&maindoc, i, "general_obj", 4, tchar);
bool logic[] = {true, false, false};
auto a = new char *[10] { "a", "b", "c" };
object_add(&maindoc, logic, "general_obj", 3, a);
{
"general_obj": {
"value1": 1,
"value2": 2,
"value3": 3,
"value4": 4,
"a": true,
"b": false,
"c": false
}
}
nested_array
void nested_array(H *host, D *data, size_t size, size_t size_per_data)
- เพิ่ม nested array ลงใน DynamicJsonDocument
- กำหนด keyname โดยใช้ [] ใน host เพื่อระบุ keyname
| Parameter |
Description |
| host |
ตัวแปรเป้าหมายที่ใช้เก็บข้อมูล เป็นตัวแปรแบบ DynamicJsonDocument |
| data |
ข้อมูลแบบ array ที่ต้องการเพิ่มเข้าไป โดยต้องเรียงลำดับให้ตรงกับชื่อของ key ใน object |
| size |
ขนาดของ array ที่ต้องการเพิ่ม คำนวณได้จาก |
| size_per_data |
ขนาดของ array แต่ละตัว ใน nested array |
int b[2][2] = {{2, 123}, {233, 18}};
nested_array(&maindoc["test"]["two_dim_arr"], b, 2, 2);
{
"test": {
"arr_arr_nested": [
[
2,
123
],
[
233,
18
]
]
}
}
nested_object
void nested_object(H *host, D *data, size_t datasize, size_t keysize, char **key)
- เพิ่ม nested object ใน DynamicJsonDocument
| Parameter |
Description |
| host |
ตัวแปรเป้าหมายที่ใช้เก็บข้อมูล เป็นตัวแปรแบบ DynamicJsonDocument |
| data |
ข้อมูลแบบ array ที่ต้องการเพิ่มเข้าไป โดยต้องเรียงลำดับให้ตรงกับชื่อของ key ใน object |
| size |
ขนาดของ array ที่ต้องการเพิ่ม คำนวณได้จาก |
| keysize |
ขนาดของ array แต่ละตัว ใน nested object |
| key |
char array ที่จะแทนชื่อของ key ใน object |
int dictionary[3][2] = {{23, 68}, {30, 70}, {22, 21}};
auto dict_key = new char *[10] { "temp", "hum" };
nested_object(&maindoc["test"]["array_of_object"], dictionary, 3, 2, dict_key);
{
"test": {
"object_arr_nested": [
{
"temp": 23,
"hum": 68
},
{
"temp": 30,
"hum": 70
},
{
"temp": 22,
"hum": 21
}
]
}
}