C語言是一種高效、快速的編程語言,同樣也支持JSON解析。JSON是一種常用的數據格式,主要用于互聯網應用程序中的數據交互。在C語言中,我們可以使用不同的JSON庫來解析JSON數據,包括Jansson、cJSON和json-c等。
Jansson是一個C語言編寫的JSON庫,支持讀取、編寫和解析JSON數據。該庫具有輕巧、快速、易于使用的特點,并且非常適合在嵌入式設備中使用。下面是使用Jansson庫解析JSON數據的示例代碼:
#includeint main() { char *json_str = "{\"name\":\"Alice\",\"age\":20}"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); printf("name: %s, age: %d\n", name, age); json_decref(root); return 0; }
cJSON是另一個流行的JSON庫,在C語言中也被廣泛使用。cJSON的特點是簡單易懂、使用方便。下面是使用cJSON庫解析JSON數據的示例代碼:
#include#include #include "cJSON.h" int main() { char *json_str = "{\"name\":\"Alice\",\"age\":20}"; cJSON *root = cJSON_Parse(json_str); const char *name = cJSON_GetObjectItem(root, "name")->valuestring; int age = cJSON_GetObjectItem(root, "age")->valueint; printf("name: %s, age: %d\n", name, age); cJSON_Delete(root); return 0; }
json-c是另一種常用的C語言JSON解析庫,它兼容RFC 7159、ECMA-404和JSON標準。使用json-c庫可以讀取、編寫和解析JSON格式文檔,支持JSON原始類型,包括數字、布爾類型和NULL值。下面是使用json-c庫解析JSON數據的示例代碼:
#include#include int main() { char *json_str = "{\"name\":\"Alice\",\"age\":20}"; struct json_object *root = json_tokener_parse(json_str); const char *name = json_object_get_string(json_object_object_get(root, "name")); int age = json_object_get_int(json_object_object_get(root, "age")); printf("name: %s, age: %d\n", name, age); json_object_put(root); return 0; }
以上是使用Jansson、cJSON和json-c解析JSON數據的示例代碼。在實際應用中,我們需要結合具體情況選擇不同的JSON庫來解析JSON數據,以滿足項目的需求。