欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 如何獲取json字符串

老白2年前9瀏覽0評論

在當前的 Web 開發中,使用 JSON 作為數據交換格式已經是一種主流。而在 C 語言中,要想把 JSON 數據解析出來,需要使用專業的 JSON 庫,例如 cJSON。

首先需要下載 cJSON 庫的源碼,解壓并將其文件夾復制到工程目錄中。以 macOS 系統為例,這里使用 gcc 編譯器進行編譯。

$ gcc -c cJSON.c -o cJSON.o

接下來就可以在 C 代碼中引入 cJSON 庫,并調用其中的函數來解析 JSON 字符串了。下面是一個簡單的示例代碼:

#include "cJSON.h"
#include <stdio.h>
void parse_json(char *json_str) {
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *isMale = cJSON_GetObjectItem(json, "is_male");
printf("name: %s\n", name->valuestring);
printf("age: %d\n", age->valueint);
printf("is_male: %d\n", isMale->valueint);
cJSON_Delete(json);
}
}
int main() {
char *json_str = "{\"name\": \"Jack\", \"age\": 18, \"is_male\": true}";
parse_json(json_str);
return 0;
}

上面的代碼中,parse_json() 函數用來解析 JSON 字符串,其中 cJSON_Parse() 函數返回一個 cJSON 對象,用來表示解析后的 JSON 數據。而 cJSON_GetObjectItem() 函數用來獲取 cJSON 對象中的某個屬性值,例如這里獲取了 name、age 和 is_male 三個屬性的值。最后使用 cJSON_Delete() 函數釋放 cJSON 對象。

以上就是 C 語言如何獲取 JSON 字符串的方法。如果需要將 C 語言中的數據轉化為 JSON 字符串,則需要使用 cJSON_CreateObject()、cJSON_AddStringToObject()、cJSON_AddNumberToObject() 等函數來創建 cJSON 對象,并使用 cJSON_Print() 函數將其轉化為 JSON 字符串。