cJSON庫是什么?

cJSON是一個輕量級的json解析庫。使用起來非常簡單,整個庫非常地簡潔,核心功能的實現(xiàn)都在cJSON.c文件,非常適合閱讀源代碼來學(xué)習(xí)C語言。最近讀完這個庫的源碼,分享自己收獲的一些心得。

什么是json,照搬json官網(wǎng)的說法:

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時也易于機器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。

cJSON庫里面有什么?

cjson庫github地址:https://github.com/DaveGamble/cJSON
整個庫包含cJSON.h和cJSON.c兩個文件,頭文件定義了一系列的API。這個庫最基本也最重要的功能就是解析一個json字符串,使用的API是cJSON_Parse。cJSON_Parse函數(shù)調(diào)用了cJSON_ParseWithOpts函數(shù),該函數(shù)實現(xiàn)了具體的邏輯。

兩個函數(shù)的原型如下:

CJSON_PUB