C json是一個基于C語言的JSON解析庫。它的設計目標是輕量級、高效率、易使用。由于C json的特點和優勢,越來越多的單片機應用開始使用它作為數據傳輸和解析的工具。
#include "cJSON.h" char* create_json_data() { cJSON *root = NULL; char *json_out = NULL; root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Alice"); cJSON_AddNumberToObject(root, "age", 23); cJSON_AddStringToObject(root, "interest", "travel"); json_out = cJSON_Print(root); cJSON_Delete(root); return json_out; } void parse_json_data(char *json_data) { cJSON *root = cJSON_Parse(json_data); if (!root) { printf("parse json error\n"); } else { cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *interest = cJSON_GetObjectItem(root, "interest"); if (name && name->valuestring) { printf("name:%s\n", name->valuestring); } if (age && age->valueint) { printf("age:%d\n", age->valueint); } if (interest && interest->valuestring) { printf("interest:%s\n", interest->valuestring); } cJSON_Delete(root); } }
上述代碼展示了C json在單片機中的應用。create_json_data函數創建了一個JSON數據,而parse_json_data函數則將JSON數據解析并打印出各個字段的值。
在單片機中,由于內存、處理能力等限制,需要盡可能地精簡代碼和使用少量的內存,因此C json一直是單片機中應用廣泛的JSON解析庫。