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

c怎么處理json

夏志豪2年前9瀏覽0評論

JSON是一種輕量級的數據交換格式,與XML相似但比XML更簡潔。在C語言中,我們可以通過使用第三方庫處理JSON數據。下面將介紹如何使用cJSON庫進行JSON的解析和生成。

// 解析JSON
cJSON *json = cJSON_Parse(json_str); // json_str為要解析的字符串
if (!json) {
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
} else {
// 獲取JSON對象中的值
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *array = cJSON_GetObjectItem(json, "array");
if(name) {
printf("name: %s\n", name->valuestring);
}
if(age) {
printf("age: %d\n", age->valueint);
}
if(array) {
cJSON *item = NULL;
cJSON_ArrayForEach(item, array) {
printf("%s\n", item->valuestring);
}
}
cJSON_Delete(json);
}
// 生成JSON
cJSON *json = cJSON_CreateObject(); // 創建JSON對象
cJSON_AddItemToObject(json, "name", cJSON_CreateString("Alice"));
cJSON_AddItemToObject(json, "age", cJSON_CreateNumber(18));
cJSON *array = cJSON_CreateArray();
cJSON_AddItemToArray(array, cJSON_CreateString("apple"));
cJSON_AddItemToArray(array, cJSON_CreateString("banana"));
cJSON_AddItemToArray(array, cJSON_CreateString("orange"));
cJSON_AddItemToObject(json, "array", array);
char *json_str = cJSON_Print(json); // 轉換為JSON字符串
printf("%s\n", json_str);
free(json_str);
cJSON_Delete(json);

通過以上代碼,我們可以看到使用cJSON庫對JSON進行了解析和生成。除此之外,cJSON還提供了許多其他功能,如刪除JSON對象、替換JSON值、判斷JSON數據類型等等,可以根據需要靈活使用。