C語(yǔ)言是一種常用的編程語(yǔ)言,用于開(kāi)發(fā)各種系統(tǒng)和應(yīng)用程序。其中,JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,由JavaScript語(yǔ)言中的對(duì)象表示法擴(kuò)展而來(lái)。在使用C語(yǔ)言處理JSON數(shù)據(jù)時(shí),需要添加數(shù)據(jù)類(lèi)型。
#include <stdio.h> #include <jansson.h> int main() { // 創(chuàng)建JSON對(duì)象 json_t *root = json_object(); // 添加字符串類(lèi)型的數(shù)據(jù) json_object_set_new(root, "name", json_string("Alice")); // 添加整數(shù)類(lèi)型的數(shù)據(jù) json_object_set_new(root, "age", json_integer(25)); // 添加布爾類(lèi)型的數(shù)據(jù) json_object_set_new(root, "isMarried", json_boolean(0)); // 添加對(duì)象類(lèi)型的數(shù)據(jù) json_t *child = json_object(); json_object_set_new(child, "name", json_string("Bob")); json_object_set_new(child, "age", json_integer(3)); json_object_set_new(root, "child", child); // 輸出JSON數(shù)據(jù) printf("%s\n", json_dumps(root, JSON_PRESERVE_ORDER)); // 釋放對(duì)象 json_decref(root); return 0; }
C語(yǔ)言中使用jansson庫(kù)來(lái)處理JSON數(shù)據(jù)。在添加數(shù)據(jù)時(shí),需要使用json_object_set_new()函數(shù)。該函數(shù)的前兩個(gè)參數(shù)分別為JSON對(duì)象和鍵名,第三個(gè)參數(shù)為要添加的數(shù)據(jù)。
其中,字符串類(lèi)型的數(shù)據(jù)使用json_string()函數(shù)創(chuàng)建,整數(shù)類(lèi)型的數(shù)據(jù)使用json_integer()函數(shù)創(chuàng)建,布爾類(lèi)型的數(shù)據(jù)使用json_boolean()函數(shù)創(chuàng)建。如果要添加對(duì)象類(lèi)型的數(shù)據(jù),則需要先創(chuàng)建該對(duì)象,再使用該對(duì)象作為第三個(gè)參數(shù)傳入json_object_set_new()函數(shù)。
上述代碼中創(chuàng)建了一個(gè)JSON對(duì)象并添加了多種數(shù)據(jù)類(lèi)型,最后使用json_dumps()函數(shù)將JSON對(duì)象轉(zhuǎn)換成字符串并輸出。完成任務(wù)后,需要使用json_decref()函數(shù)釋放JSON對(duì)象。