C 語言中如何取 JSON 字符串?dāng)?shù)據(jù)類型呢?
在 C 語言中,我們可以使用 cJSON 庫來解析和操作 JSON 數(shù)據(jù)。下面是一個(gè)簡單的示例代碼:
#include <stdio.h> #include <cJSON.h> int main() { char *json_string = "{ \"name\": \"Lucas\", \"age\": 30 }"; // 假設(shè)我們有這樣一個(gè) JSON 字符串 cJSON *root = NULL; cJSON *name = NULL; cJSON *age = NULL; root = cJSON_Parse(json_string); // 解析 JSON 字符串 if (root == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } name = cJSON_GetObjectItem(root, "name"); // 獲取 name 字段 if (name == NULL) { printf("No item named \"name\".\n"); } else { printf("name: %s\n", name->valuestring); } age = cJSON_GetObjectItem(root, "age"); // 獲取 age 字段 if (age == NULL) { printf("No item named \"age\".\n"); } else { printf("age: %d\n", age->valueint); } cJSON_Delete(root); // 釋放內(nèi)存 return 0; }
我們首先定義了一個(gè) JSON 字符串,然后使用 cJSON_Parse 函數(shù)將其解析成 cJSON 對(duì)象。之后,我們可以使用 cJSON_GetObjectItem 函數(shù)來獲取具體的字段值。
cJSON_GetObjectItem 函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是 cJSON 對(duì)象,第二個(gè)參數(shù)是要獲取的字段名。如果該字段不存在,則該函數(shù)將返回 NULL。
通過上述代碼,我們可以將 JSON 字符串中的 name 和 age 字段提取出來。