C語(yǔ)言可以通過(guò)使用json-c庫(kù)來(lái)實(shí)現(xiàn)將數(shù)據(jù)轉(zhuǎn)換為JSON格式的文本,然后通過(guò)Socket傳輸給外部應(yīng)用程序,下面我們來(lái)看看具體的實(shí)現(xiàn)步驟。
#include <stdio.h>
#include <stdlib.h>
#include <json-c/json.h>
int main()
{
// 創(chuàng)建一個(gè)json對(duì)象
struct json_object *jobj = json_object_new_object();
// 添加鍵值對(duì)
json_object_object_add(jobj, "name", json_object_new_string("Alice"));
json_object_object_add(jobj, "age", json_object_new_int(18));
json_object_object_add(jobj, "gender", json_object_new_string("female"));
// 將json對(duì)象轉(zhuǎn)換為文本
const char *jsonstr = json_object_to_json_string(jobj);
// 發(fā)送json數(shù)據(jù)
send(socketfd, jsonstr, strlen(jsonstr), 0);
// 釋放內(nèi)存
json_object_put(jobj);
return 0;
}
以上代碼中,我們首先創(chuàng)建了一個(gè)json對(duì)象,然后通過(guò)json_object_object_add函數(shù)添加了三個(gè)鍵值對(duì),分別是姓名、年齡和性別。接著調(diào)用json_object_to_json_string函數(shù)將json對(duì)象轉(zhuǎn)換為JSON格式的文本,最后通過(guò)Socket發(fā)送出去。