色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json 字符串轉字典

錢淋西1年前8瀏覽0評論

C JSON是一種用于C語言的JSON解析庫,它提供了從JSON字符串轉換為C結構體的功能。在很多C語言項目中,需要使用JSON來傳遞數據,這時就需要將JSON字符串轉換為C字典類型,以便更方便地進行數據操作。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
int main()
{
cJSON *root = NULL;
char *jsonstr = {"{\"name\":\"John\",\"age\":22,\"gender\":\"Male\"}"};
root = cJSON_Parse(jsonstr);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *gender = cJSON_GetObjectItem(root, "gender");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Gender: %s\n", gender->valuestring);
}
cJSON_Delete(root);
return 0;
}

上面的代碼演示了如何將JSON字符串解析為C字典類型,并訪問其中的元素。首先,需要調用cJSON_Parse函數將JSON字符串解析為C JSON類型。如果解析失敗,將返回NULL,并打印錯誤信息。

解析成功后,可以使用cJSON_GetObjectItem函數從解析后的JSON類型中獲取值,具體操作方式為使用JSON元素的名稱作為第二個參數,并指定該元素的類型為字符串、整數等,返回相應的JSON數據類型。

最后,需要釋放分配的內存空間,使用cJSON_Delete函數刪除C JSON類型。