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

c 生成或解析 json

林國瑞1年前8瀏覽0評論

JSON是一種輕量級的數據交換格式,被廣泛運用于前后端數據傳輸。C語言為解析和生成JSON提供了多種方式。

CJSON是一個常用的C語言JSON解析器。它將JSON字符串解析為一個C語言中定義的對象,同時也可以將C語言中的對象轉化成JSON字符串。下面是一個簡單的示例。

#include <stdio.h>#include <cJSON.h>int main() {
char *json_str = "{\"name\":\"小明\", \"age\":18}";
cJSON *json = cJSON_Parse(json_str);
printf("姓名:%s\n", cJSON_GetObjectItem(json, "name")->valuestring);
printf("年齡:%d\n", cJSON_GetObjectItem(json, "age")->valueint);
cJSON_Delete(json);
return 0;
}

上述代碼解析了一個JSON字符串,并輸出其中的姓名和年齡字段。CJSON支持多種數據類型,包括string、number、boolean、null等。獲取JSON對象中不同數據類型的值的函數也各不相同。

另一個常用的C語言JSON庫是Jansson。Jansson用起來非常方便優雅。下面是一個簡單的生成JSON字符串的示例。

#include <stdio.h>#include <jansson.h>int main() {
json_t *json = json_object();
json_object_set(json, "name", json_string("小明"));
json_object_set(json, "age", json_integer(18));
char *json_str = json_dumps(json, JSON_INDENT(4) | JSON_COMPACT);
printf("%s\n", json_str);
free(json_str);
json_decref(json);
return 0;
}

上述代碼生成了一個包含姓名和年齡字段的JSON對象,并將其轉化為JSON字符串輸出。Jansson使用了簡單易用的API,比如json_object_set()用于設置JSON對象中的值,而json_dumps()將JSON對象轉化為JSON字符串。