C語言是一種廣泛應用于系統級編程的編程語言。在許多的應用程序中,需要將C實體對象轉換成JSON格式,用于HTTP API和通信協議。下面介紹如何在C語言中處理JSON數據格式。
#include <stdio.h> #include <string.h> #include <jansson.h> typedef struct { int id; char *name; double price; } product; static void product_to_json(const product *p, json_t *root) { json_t *json_id, *json_name, *json_price; json_id = json_integer(p->id); json_name = json_string(p->name); json_price = json_real(p->price); json_object_set(root, "id", json_id); json_object_set(root, "name", json_name); json_object_set(root, "price", json_price); } int main() { product p = { 1, "Coca Cola", 0.99 }; json_t *root = json_object(); product_to_json(&p, root); char *json_str = json_dumps(root, 0); printf("%s", json_str); json_decref(root); free(json_str); return 0; }
以上是一段示例代碼。首先定義了一個商品的結構體,然后通過函數product_to_json將實體對象p轉換成一個JSON對象root。最后通過json_dumps函數將root轉換為一個JSON字符串輸出到控制臺。 需要注意的是,在轉換完成后,需要釋放內存。