JSON是一種輕量級數據交換格式,廣泛用于Web應用程序中。在C語言中,我們可以使用第三方庫來解析JSON格式的數據。為了更好地操作JSON對象,我們需要了解如何搜索JSON對象。
#include#include "cjson/cJSON.h"
int main() {
char *json_string = "{\"name\":\"Tom\",\"age\":18,\"hobby\":[\"swimming\",\"reading\"]}";
cJSON *root = cJSON_Parse(json_string);
// 通過key獲取value
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", cJSON_Print(name));
// 通過下標獲取value
cJSON *age = cJSON_GetArrayItem(cJSON_GetObjectItem(root, "hobby"), 0);
printf("age: %s\n", cJSON_Print(age));
// 遍歷數組
cJSON *hobby = NULL;
cJSON_ArrayForEach(hobby, cJSON_GetObjectItem(root, "hobby")) {
printf("hobby: %s\n", cJSON_Print(hobby));
}
cJSON_Delete(root);
return 0;
}
代碼中,首先我們使用cJSON_Parse函數將JSON字符串轉化為cJSON對象。接著,我們可以使用cJSON_GetObjectItem函數通過key獲取value,也可以使用cJSON_GetArrayItem函數通過下標獲取value。此外,我們還可以使用cJSON_ArrayForEach函數遍歷JSON數組。
綜上,搜索JSON對象在C語言中可以用第三方庫cJSON進行實現。熟練掌握搜索方法可以幫助我們更好地操作JSON對象。