JSON(JavaScript Object Notation)是用于數據交換的一種輕量級的文本格式。由于其簡單性和可讀性,它已經成為現代應用程序中最常用的數據格式之一。
C標準庫中的json解析器 - cJSON,是一個輕量級的、可移植的、快速的C語言庫,用于解析JSON數據。cJSON是一個單文件庫,易于集成到任何C項目中。
cJSON *cJSON_Parse(const char *json)
cJSON_Parse()函數通過解析字符串形式的JSON文本來創建一個cJSON對象。在解析過程中,它將檢索JSON文本中的元素存儲在cJSON結構中。如果該函數成功,則返回解析后JSON文本的根節點的指針。如果函數出錯,則返回NULL。
例如,以下是針對JSON文本的cJSON_Parse()函數的調用:
#include "cJSON.h" char *json_text = "{\"name\":\"John Smith\",\"age\":25}"; cJSON *root = cJSON_Parse(json_text);
在上面的示例中,JSON文本作為一個字符串傳遞給cJSON_Parse()函數。然后,將根據JSON文本創建一個cJSON對象,該對象的指針將存儲在root變量中。
cJSON *cJSON_GetObjectItem(const cJSON *object, const char *string)
cJSON_GetObjectItem()函數使用在該對象上指定的鍵查詢并返回相應的cJSON節點。例如,下面是使用cJSON_GetObjectItem()函數從上面示例中的root對象中獲取名為“name”的鍵的值:
cJSON *name = cJSON_GetObjectItem(root, "name"); char *name_value = name->valuestring;
在上面的示例中,“name”是JSON文本中的一個鍵,該鍵的值存儲在name_value變量中。同樣,可以使用cJSON_GetObjectItem()函數獲取任何其他鍵的值。
cJSON庫還提供了其他有用的功能,例如在JSON中添加或刪除元素、以及將cJSON節點串聯成多個JSON文檔。有關cJSON庫支持的全部操作,請參閱其官方文檔。
上一篇python 畫疊圖
下一篇python 畫圖希臘字