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

c 取json中的值

方一強2年前8瀏覽0評論

在使用C語言解析JSON(JavaScript Object Notation)數據時,我們需要使用第三方庫來進行操作,常用的有cJSON、Jansson等。

首先,我們需要將JSON數據解析為C語言中的結構體或數組,cJSON庫提供了一些函數來實現這個功能,例如cJSON_Parse()函數可以將JSON數據字符串解析為cJSON結構體。

#include <stdio.h>
#include <cJSON.h>
int main() {
char* json_str = "{ \"name\": \"Tom\", \"age\": 18, \"gender\": \"male\" }";
cJSON* json = cJSON_Parse(json_str);
if (json) {
cJSON* name = cJSON_GetObjectItem(json, "name");
cJSON* age = cJSON_GetObjectItem(json, "age");
cJSON* gender = cJSON_GetObjectItem(json, "gender");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Gender: %s\n", gender->valuestring);
cJSON_Delete(json);
}
return 0;
}

在上述代碼中,我們先定義了一個JSON數據字符串json_str,然后使用cJSON_Parse()函數將它解析為一個cJSON結構體,接著使用cJSON_GetObjectItem()函數取出其中的值,最后輸出到控制臺中。

需要注意的是,cJSON_GetObjectItem()返回的是cJSON結構體中的子元素,我們需要根據取出來的值的類型使用不同的取值函數,例如valuestring和valueint用于取出字符串類型和整數類型的值。

在嘗試取值之前,我們需要先判斷解析是否成功,如果cJSON_Parse()返回NULL,則說明解析失敗,我們需要釋放內存并退出程序。

if (json == NULL) {
printf("JSON parse error: %s\n", cJSON_GetErrorPtr());
cJSON_Delete(json);
return -1;
}

以上就是在C語言中取JSON中的值的基本用法。