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

c 將哈希表寫成json

呂致盈2年前8瀏覽0評論

在C語言中使用哈希表是一種常見的數據結構,但是有時候我們需要將哈希表的數據轉化為JSON格式,以便在其他應用中使用。這篇文章將介紹如何將哈希表寫成JSON格式。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
#include <uthash.h>
/* 哈希表結構體 */
typedef struct {
char key[20];
int value;
UT_hash_handle hh;
} hash_item;
/* 創建哈希表 */
void create_hash(hash_item **hash, char key[], int value) {
hash_item *item = (hash_item*) malloc(sizeof(hash_item));
strcpy(item->key, key);
item->value = value;
HASH_ADD_STR(*hash, key, item);
}
/* 將哈希表轉化為JSON格式 */
json_t* hash_to_json(hash_item *hash) {
json_t *json = json_object();
hash_item *item;
/* 遍歷哈希表 */
for(item = hash; item != NULL; item = (hash_item*)(item->hh.next)) {
json_object_set_new(json, item->key, json_integer(item->value));
}
return json;
}
int main() {
hash_item *hash = NULL;
/* 往哈希表中添加元素 */
create_hash(&hash, "apple", 4);
create_hash(&hash, "banana", 6);
/* 將哈希表轉化為JSON格式 */
json_t *json = hash_to_json(hash);
/* 將JSON格式的數據寫入文件 */
FILE *fp = fopen("hash.json", "w");
fputs(json_dumps(json, 0), fp);
fclose(fp);
return 0;
}

以上是使用C語言將哈希表寫成JSON格式的代碼,我們可以通過調用create_hash函數向哈希表中添加元素,再調用hash_to_json函數將哈希表轉化為JSON格式。最后我們將JSON格式的數據寫入文件。在這里我們使用了jansson庫來處理JSON,同時也使用了uthash庫來處理哈希表。這一操作可以讓我們更加方便地使用哈希表和JSON格式,提高開發效率。

下一篇549vue下載