在C語(yǔ)言中,使用Json格式的數(shù)據(jù)結(jié)構(gòu)可以方便地進(jìn)行數(shù)據(jù)交互和存儲(chǔ)。其中,map格式是一種常見(jiàn)的Json格式。下面我們來(lái)介紹一下C語(yǔ)言中如何使用Json的map格式。
// 引入json-c庫(kù)頭文件 #include "json-c/json.h" // 定義map格式Json對(duì)象 struct json_object *map = json_object_new_object(); // 添加鍵值對(duì) json_object_object_add(map, "name", json_object_new_string("Tom")); json_object_object_add(map, "age", json_object_new_int(20)); // 獲取鍵對(duì)應(yīng)的值 struct json_object *name = NULL; json_object_object_get_ex(map, "name", &name); const char *name_str = json_object_get_string(name); // 釋放Json對(duì)象 json_object_put(map);
在上述代碼中,我們使用了json-c庫(kù)來(lái)操作Json對(duì)象。首先,我們新建了一個(gè)空的map格式Json對(duì)象。然后,通過(guò)json_object_object_add()函數(shù)向map中添加鍵值對(duì)。函數(shù)的第一個(gè)參數(shù)為map對(duì)象,第二個(gè)參數(shù)為鍵,第三個(gè)參數(shù)為值。可以看到,值的類型可以是字符串、整數(shù)等基本類型。
接著,我們使用json_object_object_get_ex()函數(shù)獲取map中指定鍵對(duì)應(yīng)的值。函數(shù)的第一個(gè)參數(shù)為map對(duì)象,第二個(gè)參數(shù)為鍵,第三個(gè)參數(shù)為值的指針。如果獲取成功,函數(shù)返回值為true。
最后,我們使用json_object_put()函數(shù)釋放map對(duì)象。數(shù)據(jù)的獲取和釋放過(guò)程與普通Json格式類似。