在C語言中,有時需要獲取JSON對象的所有屬性,然后檢查它們是否為空。一種簡單的方法是使用 cJSON 庫,該庫提供了一些方便的函數來處理JSON數據。
#include <cJSON.h>
int main() {
const char* json_str = "{\"foo\": \"bar\", \"hello\": null, \"world\": \"\"}";
cJSON* root = cJSON_Parse(json_str);
cJSON* child = root->child;
while (child) {
const char* name = child->string;
cJSON* value = child->child;
if (name && value) {
if (cJSON_IsNull(value) || cJSON_IsString(value) && value->valuestring[0] == '\0') {
printf("%s is empty\n", name);
}
}
child = child->next;
}
cJSON_Delete(root);
return 0;
}
該代碼將JSON字符串轉換為 cJSON 對象,然后迭代所有屬性。對于每個屬性,我們檢查其值是否為空。如果值是 null 或空字符串,程序將輸出該屬性的名稱。