JSON(全稱JavaScript Object Notation,即JavaScript 對象表示法)是一種輕量級的數據交換格式。它基于 JavaScript 語言的一個子集,可以被多種編程語言輕松地解析和生成,被廣泛用于 Web 應用程序中。
C語言是一種面向過程的計算機程序設計語言。它具有高效、簡潔和高性能等特點,是廣泛應用于系統開發、操作系統、通訊應用、網絡協議等領域的編程工具。
在實際應用中,需要將 JSON 對象傳輸給 C 語言程序進行處理。而 C 語言并不支持 JSON 的解析,因此需要借助第三方庫來解析 JSON 。
#include <stdio.h>
#include <cJSON.h>
int main() {
char* str = "{\"name\":\"Tom\",\"age\":18}";
cJSON* root = cJSON_Parse(str);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
cJSON* name = cJSON_GetObjectItem(root, "name");
cJSON* age = cJSON_GetObjectItem(root, "age");
printf("name: %s, age: %d\n", name->valuestring, age->valueint);
cJSON_Delete(root);
}
return 0;
}
在上述代碼中,我們調用了 cJSON 庫中的 cJSON_Parse() 函數來解析 JSON,將其轉換為 cJSON 對象,然后就可以方便地通過 cJSON_GetObjectItem() 函數獲取名稱為 “name” 和 “age” 的 JSON 對象的值,并進行打印。
另外,需要注意的是,在編寫 C 語言程序接收 JSON 格式數據時,需要保證傳入的字符串數據為符合 JSON 語法規范的格式,否則可能會導致解析出錯。