JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,由具有傳遞性和層次性的鍵值對(duì)組成的,常用于在不同平臺(tái)和應(yīng)用程序之間傳輸數(shù)據(jù)。在 C 語(yǔ)言中,使用結(jié)構(gòu)體來(lái)定義 JSON 數(shù)據(jù)類型。
typedef struct { char *key; // 鍵 union { int int_value; // 值為整數(shù) double double_value; // 值為浮點(diǎn)數(shù) char *string_value; // 值為字符串 bool bool_value; // 值為布爾值 struct json_object *object_value; // 值為嵌套的 JSON 對(duì)象 struct json_array *array_value; // 值為嵌套的 JSON 數(shù)組 } value; // 值 } json_object; // JSON 對(duì)象 typedef struct { int length; // 數(shù)組長(zhǎng)度 json_object **items; // 數(shù)組元素 } json_array; // JSON 數(shù)組
使用上述結(jié)構(gòu)體定義 JSON 類型時(shí),可以根據(jù)需要添加或修改成員變量,使之適應(yīng)具體的數(shù)據(jù)需求。例如,需要定義一個(gè)電影的 JSON 數(shù)據(jù)類型,可以添加如下成員變量:
typedef struct { char *title; char *director; int year; double rating; json_array *cast; // 演員列表 json_array *reviews; // 評(píng)論列表 } json_movie;
以上僅是 JSON 類型的一種使用方式,更多關(guān)于 JSON 的應(yīng)用和擴(kuò)展,可以參閱官方文檔及相關(guān)書(shū)籍。