在C語言中,我們可以使用一些庫來將JSON數據轉換為對象數組對象。以下是一些常用的庫和方法:
1. cJSON
#include <stdio.h>
#include <cJSON/cJSON.h>
int main() {
const char* json = "{\"name\":\"John\", \"age\":30, \"car\":null}";
cJSON *root = cJSON_Parse(json);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
cJSON* name = cJSON_GetObjectItem(root, "name");
printf("Name: %s\n", name->valuestring);
cJSON* age = cJSON_GetObjectItem(root, "age");
printf("Age: %d\n", age->valueint);
cJSON* car = cJSON_GetObjectItem(root, "car");
if (cJSON_IsNull(car)) {
printf("Car: null\n");
}
cJSON_Delete(root);
}
return 0;
}
2. Jansson
#include <stdio.h>
#include <jansson.h>
int main() {
const char* json = "{\"name\":\"John\", \"age\":30, \"car\":null}";
json_error_t error;
json_t *root = json_loads(json, 0, &error);
if (!root) {
printf("Error: %s\n", error.text);
} else {
json_t *name = json_object_get(root, "name");
printf("Name: %s\n", json_string_value(name));
json_t *age = json_object_get(root, "age");
printf("Age: %d\n", json_integer_value(age));
json_t *car = json_object_get(root, "car");
if (json_is_null(car)) {
printf("Car: null\n");
}
json_decref(root);
}
return 0;
}
這些庫都提供了開箱即用的API,可以輕松解析和訪問JSON數據。在實際開發中,我們可以根據具體的需求選擇合適的庫來使用。
上一篇python 眼動追蹤
下一篇python 爬取圖像