JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
/* 以字符串的形式返回cJSON版本 */
cJSON_Version(void);
/* 提供一个JSON块,然后返回一个可以查询的cJSON对象。完成后调用cJSON_Delete。*/
cJSON_Parse(const char *value);
/* 将cJSON实体呈现为用于传输/存储的文本。 */
cJSON_Print(const cJSON *item);
/*将cJSON实体呈现为用于传输/存储的文本,而不进行任何格式化。 */
cJSON_PrintUnformatted(const cJSON *item);
/*使用缓冲策略将cJSON实体呈现为文本。prebuffer是对最终大小的猜测。猜得好可以减少重新分配。fmt=0表示未格式化,=1表示格式化 */
cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt);
/*使用给定长度的内存中已分配的缓冲区将cJSON实体呈现为文本。成功返回1,失败返回0。 */
/*注意:cJSON并不总是100%准确地估计它将使用多少内存,所以为了安全起见,要比实际需要多分配5个字节 */
cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format);
/*删除一个cJSON实体和所有子实体。 */
cJSON_Delete(cJSON *c);
/*返回数组(或对象)中的项数。 */
cJSON_GetArraySize(const cJSON *array);
/*从数组“数组”中检索项目编号“项目”。如果不成功,返回NULL。 */
cJSON_GetArrayItem(const cJSON *array, int index);
/*从对象中获取项目“string”。不区分大小写。 */
cJSON_GetObjectItem(const cJSON * const object, const char * const string);
cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string);
cJSON_HasObjectItem(const cJSON *object, const char *string);
/*你可能需要回头看几个字才能理解它。当cJSON_Parse()返回0时定义。当cJSON_Parse()成功时为0。 */
cJSON_GetErrorPtr(void);
参考Dave Gamble and cJSON contributors的cJSON.C