色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 如何將json字符串數組賦值

林國瑞1年前8瀏覽0評論

在使用c語言處理json字符串數組時,我們需要使用第三方庫進行解析。這里我們選擇常用的cJSON庫。首先我們需要將json字符串轉換為cJSON對象,然后通過遍歷對象的方式進行賦值。

// 示例json字符串數組
char *json_str = "[{\"name\":\"Tom\",\"age\":18}, {\"name\":\"Jerry\",\"age\":20}]";
// 將json字符串轉換為cJSON對象
cJSON *root = cJSON_Parse(json_str);
// 遍歷cJSON對象
if (root != NULL) {
int size = cJSON_GetArraySize(root);
for (int i = 0; i< size; i++) {
cJSON *item = cJSON_GetArrayItem(root, i);
if (item != NULL) {
// 解析name、age字段
cJSON *name = cJSON_GetObjectItem(item, "name");
cJSON *age = cJSON_GetObjectItem(item, "age");
if (name != NULL && age != NULL) {
// 將字段值賦給結構體
struct student s;
strcpy(s.name, name->valuestring);
s.age = age->valueint;
printf("name: %s, age: %d\n", s.name, s.age);
}
}
}
}
// 釋放cJSON對象內存
cJSON_Delete(root);

在上述代碼中,我們通過cJSON_Parse函數將json字符串轉換為cJSON對象。然后遍歷對象,通過cJSON_GetArraySize和cJSON_GetArrayItem函數獲取json數組的大小和元素,再通過cJSON_GetObjectItem函數獲取子對象的字段值。最后將字段值賦給結構體即可完成賦值。