C語言是一門廣泛應用于計算機科學中的高級編程語言,因為它可以用于開發操作系統、系統軟件和應用程序,所以在實際開發中經常需要進行數據轉換。其中,將對象轉換成JSON格式是一種常見的需求。下面,我們將介紹如何使用C語言將對象轉換成JSON格式。
#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
json_t *c_to_json(void);
int main(int argc, char **argv) {
json_t *rootObject = c_to_json();
char *jsonStr = json_dumps(rootObject, JSON_INDENT(4) | JSON_PRESERVE_ORDER);
printf("%s\n", jsonStr);
free(jsonStr);
json_decref(rootObject);
return 0;
}
json_t *c_to_json(void) {
json_t *rootObject = json_object();
json_t *arr = json_array();
json_object_set_new(rootObject, "name", json_string("張三"));
json_object_set_new(rootObject, "age", json_integer(20));
json_t *friendObj = json_object();
json_object_set_new(friendObj, "name", json_string("李四"));
json_object_set_new(friendObj, "age", json_integer(21));
json_array_append(arr, friendObj);
json_object_set_new(rootObject, "friends", arr);
return rootObject;
}
使用jansson庫的json_object_set_new方法可以添加一個鍵值對到JSON對象中。需要注意的是,當添加完所有鍵值對后,需要釋放占用的內存,方法是使用json_decref。最后,使用json_dumps將JSON對象轉換成JSON字符串。