JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,而C語(yǔ)言則是一種強(qiáng)有力的編程語(yǔ)言。結(jié)合使用這兩種工具,可以很方便地將C語(yǔ)言中的數(shù)據(jù)轉(zhuǎn)換為JSON格式,再發(fā)送到服務(wù)器端。以下是一個(gè)簡(jiǎn)單的例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { json_t *root; json_t *elem; json_t *arr; root = json_object(); json_object_set_new(root, "name", json_string("Alice")); json_object_set_new(root, "age", json_integer(20)); arr = json_array(); json_array_append_new(arr, json_string("reading")); json_array_append_new(arr, json_string("music")); elem = json_object(); json_object_set_new(elem, "hobby", arr); json_object_set_new(root, "extra", elem); char *json_str = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_str); /* 發(fā)送 json_str 至服務(wù)器端 */ json_decref(root); free(json_str); return 0; }
首先,我們需要使用 json_t 類型定義變量,在堆上分配內(nèi)存。然后,我們使用 json_object_set_new 函數(shù)將鍵值對(duì)添加到 JSON 對(duì)象中。最后,我們將 JSON 對(duì)象轉(zhuǎn)換為字符串,以便將其發(fā)送到服務(wù)器端。在發(fā)送完成后,我們需要釋放內(nèi)存( json_decref )。