在C語言中,解析JSON字符串是一項基本操作。
JSON是一種輕量級數據格式,通常用于Web應用程序中的數據交換。它由鍵值對組成,鍵和值之間用冒號分隔,鍵值對之間用逗號分隔,整個JSON字符串用花括號括起來。
以下是一個簡單的JSON字符串示例:
{ "name": "John", "age": 30, "city": "New York" }
要在C中解析JSON字符串,您可以使用一個叫做“ cJSON”的庫。
以下是一個簡單的示例程序,演示如何使用cJSON庫將JSON字符串解析為C結構體:
#include <stdio.h> #include <cJSON.h> int main() { char json[] = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; cJSON *root = cJSON_Parse(json); if (root == NULL) { printf("Error: Failed to parse JSON string."); return 1; } cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *city = cJSON_GetObjectItem(root, "city"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("City: %s\n", city->valuestring); cJSON_Delete(root); return 0; }
在上面的程序中,我們首先定義了一個JSON字符串,它包含一個人的姓名、年齡和城市。
然后,我們使用cJSON_Parse()函數將JSON字符串解析為CJSON對象,如果解析失敗,則打印錯誤信息并返回一個非零值。
接下來,我們使用cJSON_GetObjectItem()函數獲取CJSON對象中的“name”、“age”和“city”鍵的值,并將其存儲在變量中。我們可以使用valuestring和valueint成員訪問這些值。
最后,我們使用cJSON_Delete()函數釋放CJSON對象的內存,避免內存泄漏。
這是如何在C語言中解析JSON字符串的一個簡單例子。使用cJSON庫,您可以輕松地將JSON字符串解析為C結構體。
上一篇python 空列表定義
下一篇Vue側邊欄背景