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

c 如何處理json數(shù)據(jù)

JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于網(wǎng)絡(luò)數(shù)據(jù)傳輸。在C語言中,有許多庫可以用于處理JSON數(shù)據(jù)。

其中,一個(gè)較為常用的庫是cJSON。cJSON是一個(gè)簡單的C語言庫,用于解析和生成JSON數(shù)據(jù)。

使用cJSON,可以將一個(gè)JSON字符串解析成cJSON結(jié)構(gòu)體,并對其進(jìn)行遍歷和操作。以下是一個(gè)示例代碼:

#include <stdlib.h>
#include <stdio.h>
#include <cJSON.h>
int main() {
char *json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("Parse error: %s\n", cJSON_GetErrorPtr());
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("City: %s\n", city->valuestring);
cJSON_Delete(root);
return 0;
}

以上代碼將一個(gè)JSON字符串解析成cJSON結(jié)構(gòu)體,并獲取其中的"name"、"age"和"city"屬性。注意到最后需要調(diào)用cJason_Delete()函數(shù)釋放資源。

除了從字符串解析JSON數(shù)據(jù),cJSON同樣支持將cJSON結(jié)構(gòu)體輸出為JSON字符串。以下是一個(gè)示例代碼:

#include <stdlib.h>
#include <stdio.h>
#include <cJSON.h>
int main() {
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddStringToObject(root, "city", "New York");
char *json_str = cJSON_PrintUnformatted(root);
printf("JSON: %s\n", json_str);
free(json_str);
cJSON_Delete(root);
return 0;
}

以上代碼創(chuàng)建一個(gè)cJSON結(jié)構(gòu)體,并添加"name"、"age"和"city"屬性。最后使用cJSON_PrintUnformatted()函數(shù)將其輸出為JSON字符串,并釋放資源。