C語言是一種流行的程序語言,它具有高效、簡單等特點。其中,數組是C語言中的一種基本數據類型,可以在程序中存儲一系列相同類型的數據。
與此同時,JSON(JavaScript Object Notation)是一種輕量級的數據格式,常用于跨語言的數據交換。在C語言中,我們可以使用第三方庫來處理JSON字符串。其中比較常用的是cJSON。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { char *json_string = "{\ \"name\": \"John Smith\",\ \"age\": 25,\ \"hobbies\": [\ \"reading\",\ \"jogging\"\ ]\ }"; cJSON *root = cJSON_Parse(json_string); if (!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies"); int hobbies_count = cJSON_GetArraySize(hobbies); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Hobbies:\n"); for (int i = 0; i< hobbies_count; i++) { cJSON *hobby = cJSON_GetArrayItem(hobbies, i); printf("- %s\n", hobby->valuestring); } cJSON_Delete(root); return 0; }
以上代碼演示了如何使用cJSON第三方庫將JSON字符串實例化為對象,并通過對象的操作來獲取其中的數據,包括字符串、整型、數組等類型。
首先,我們需要引入cJSON庫的頭文件