C語言是一種非常傳統的編程語言,雖然不像現代的高級語言一樣方便易上手,但在一些底層編程中仍然具有重要的意義。在某些情況下,需要將C語言中的數據格式轉換為更加現代化的格式,比如JSON格式。以下是一個C程序轉換為JSON格式的例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <jansson.h> typedef struct Person{ char name[20]; int age; char gender[10]; }Person; int main(){ Person person; strcpy(person.name, "Lucy"); person.age = 20; strcpy(person.gender, "female"); json_t* root = json_object(); json_object_set_new(root, "name", json_string(person.name)); json_object_set_new(root, "age", json_integer(person.age)); json_object_set_new(root, "gender", json_string(person.gender)); char* json_data = json_dumps(root, JSON_COMPACT|JSON_ENSURE_ASCII); printf("%s\n", json_data); json_object_clear(root); free(json_data); return 0; }
在這個例子中,我們創建了一個名為Person的結構體,其中包含姓名、年齡和性別。然后我們使用jansson庫中提供的函數將這個C語言結構體轉換到JSON格式。在這個過程中,我們定義了一個json_t類型的變量root,并使用json_object_set_new()函數將Person結構體中的數據添加到root中。最后,我們使用json_dumps()函數將root轉換為JSON格式的字符串,并在終端中輸出這個字符串。