C 結構體與 JSON 互轉庫 ,struct2json V1.0 發布

jopen 10年前發布 | 13K 次閱讀 struct2json

struct2json 是一個開源的C結構體與 JSON 快速互轉庫,它可以快速實現 結構體對象 與 JSON 對象 之間序列化及反序列化要求。快速、簡潔的 API 設計,大大降低直接使用 JSON 解析庫來實現此類功能的代碼復雜度。

起源

把 面向對象設計應用到C語言中,是當下很流行的設計思想。由于C語言中沒有類,所以一般使用結構體struct 充當類,那么結構體變量就是對象。有了對象 之后,很多時候需要考慮對象的序列化及反序列化問題。C語言不像很多高級語言擁有反射等機制,使得對象序列化及反序列化被原生的支持。

對于 C語言來說,序列化為 JSON 字符串是個不錯的選擇,所以就得使用 cJSON 這類 JSON 解析庫,但是使用后的代碼冗余且邏輯性差,所以萌生對cJSON庫進行二次封裝,實現一個 struct 與 JSON 之間快速互轉的庫。 struct2json 就誕生于此。下面是 struct2json 主要使用場景: