然后,我們需要將JSON字符串轉換為cJSON結構體,代碼如下:
cJSON *root = cJSON_Parse(json_string);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return;
}
接著,我們可以通過cJSON提供的API獲取JSON對象的屬性值,例如:
cJSON *data = cJSON_GetObjectItemCaseSensitive(root, "data");
cJSON *users = cJSON_GetObjectItemCaseSensitive(data, "users");
int users_arr_size = cJSON_GetArraySize(users);
for (int i = 0; i< users_arr_size; i++) {
cJSON *user = cJSON_GetArrayItem(users, i);
char *username = cJSON_GetObjectItemCaseSensitive(user, "username")->valuestring;
int age = cJSON_GetObjectItemCaseSensitive(user, "age")->valueint;
// do something with the username and age
}
最后,我們需要在程序結束時釋放cJSON結構體的內存:
cJSON_Delete(root);
以上是使用cJSON循環JSON的基本步驟,在實際開發中,還需要根據具體的業務需求來定制解析和循環JSON的代碼。