JSON是一種輕量級(jí)的數(shù)據(jù)交換格式。在C Web Service的開發(fā)過程中,JSON數(shù)據(jù)常常被用來傳輸和解析數(shù)據(jù)。
{ "name": "張三", "age": 20, "gender": "男" }
以上是一個(gè)簡(jiǎn)單的JSON數(shù)據(jù)對(duì)象,包含了三個(gè)屬性:姓名、年齡和性別。在C Web Service中,我們可以使用JSON庫(kù)來操作JSON數(shù)據(jù)對(duì)象。
#include "json-c/json.h" int main() { char *json_string = "{ \"name\": \"張三\", \"age\": 20, \"gender\": \"男\(zhòng)" }"; struct json_object *obj = json_tokener_parse(json_string); printf("Name: %s\n", json_object_get_string(json_object_object_get(obj, "name"))); printf("Age: %d\n", json_object_get_int(json_object_object_get(obj, "age"))); printf("Gender: %s\n", json_object_get_string(json_object_object_get(obj, "gender"))); json_object_put(obj); return 0; }
以上是一個(gè)簡(jiǎn)單的JSON解析代碼示例。使用json_tokener_parse函數(shù)將JSON字符串轉(zhuǎn)換成JSON對(duì)象,然后根據(jù)屬性名讀取屬性值并打印到控制臺(tái)上。
除此之外,C Web Service中還可以使用JSON庫(kù)來生成JSON數(shù)據(jù)對(duì)象,以便傳輸數(shù)據(jù)。
#include "json-c/json.h" int main() { struct json_object *obj = json_object_new_object(); json_object_object_add(obj, "name", json_object_new_string("張三")); json_object_object_add(obj, "age", json_object_new_int(20)); json_object_object_add(obj, "gender", json_object_new_string("男")); const char* json_string = json_object_to_json_string(obj); printf("%s\n", json_string); json_object_put(obj); return 0; }
以上是一個(gè)簡(jiǎn)單的JSON生成代碼示例。使用json_object_new_object函數(shù)創(chuàng)建一個(gè)JSON對(duì)象,然后使用json_object_object_add函數(shù)添加屬性和屬性值,最后將JSON對(duì)象轉(zhuǎn)換成JSON字符串并打印到控制臺(tái)上。