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

c json 樹形

劉柏宏2年前8瀏覽0評論

C JSON 樹形是一種基于 C 語言的解析器庫,可以將 JSON 數據解析為以樹形結構表示的內部數據結構,方便程序進行處理和操作。

// 示例代碼:
#include#include#include#include "cJSON.h"
int main() {
char *json_str = "{\"name\":\"張三\",\"age\":20,\"friends\":[{\"name\":\"李四\",\"age\":21},{\"name\":\"王五\",\"age\":22}],\"address\":{\"province\":\"四川\",\"city\":\"成都\"}}";
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("解析 JSON 數據失敗\n");
return EXIT_FAILURE;
}
// 獲取屬性值
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name != NULL && name->type == cJSON_String) {
printf("姓名:%s\n", name->valuestring);
}
// 獲取數組
cJSON *friends = cJSON_GetObjectItem(root, "friends");
if (friends != NULL && friends->type == cJSON_Array) {
printf("好友:\n");
int i;
cJSON *item;
cJSON_ArrayForEach(item, friends) {
cJSON *friend_name = cJSON_GetObjectItem(item, "name");
cJSON *friend_age = cJSON_GetObjectItem(item, "age");
if (friend_name != NULL && friend_name->type == cJSON_String && friend_age != NULL && friend_age->type == cJSON_Number) {
printf("%s,年齡:%d\n", friend_name->valuestring, friend_age->valueint);
}
}
}
// 獲取對象
cJSON *address = cJSON_GetObjectItem(root, "address");
if (address != NULL && address->type == cJSON_Object) {
cJSON *province = cJSON_GetObjectItem(address, "province");
cJSON *city = cJSON_GetObjectItem(address, "city");
if (province != NULL && province->type == cJSON_String && city != NULL && city->type == cJSON_String) {
printf("地址:%s%s\n", province->valuestring, city->valuestring);
}
}
cJSON_Delete(root);
return EXIT_SUCCESS;
}

以上示例代碼中,首先解析了一個 JSON 字符串,并將其保存為一個 cJSON 對象指針。然后通過調用 cJSON_GetObjectItem 函數獲取其中的屬性值、數組和對象,并進行相應的解析和處理。

C JSON 樹形是一個非常實用的 JSON 解析庫,尤其適合嵌入式系統等資源有限的環境中使用。